springboot三种系统初始化方式解析 1. 第一种 利用 spring.factories 在资源文件目录建立 spring.factories 文件 存入key-value信息
org.springframework.context.ApplicationContextInitializer=com.zhu.ggball.springboot.initializer.FirstInitializer 实现 ApplicationContextInitializer 类
/** * @program: springboot * @description: 第一种初始化方式 * @author: ggBall * @create: 2021-01-13 09:16 **/ @Order(1) public class FirstInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> { @Override public void initialize(ConfigurableApplicationContext applicationContext) { // 1. 获取环境 ConfigurableEnvironment environment = applicationContext.getEnvironment(); // 2. 构建自己的属性 HashMap<String, Object> map = new HashMap<>(); map.put("key1","value1"); MapPropertySource source = new MapPropertySource("firstInitializer", map); // 3. 加入环境属性集中 environment.getPropertySources().addLast(source); System.out.println("firstInitializer start... "); } } 原理:
...