springBoot容器启动流程
main方法启动时,springBoot启动流程的各个生命周期会以事件通知的方式,把事件告知其他程序前期通过spring-spi获取所有监听事件的类
spring启动的大体流程为以下的几个方法 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677public class EventPublishingRunListener implements SpringApplicationRunListener { ... private final SimpleApplicationEventMulticaster initialMulticaster = new SimpleApplicationEventMulticaster(); public EventPublishingRunListener(SpringA ...
获取spring启动环境的工具类
必须用到的枚举工具类
参考通用枚举的---使用例子一 通用枚举
定义ENV枚举1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859@Slf4jpublic enum ENV implements IEnums<String> { RELEASE("正式", "release", "prod"), PRE("预发", "pre"), TEST("测试", "test", "test1", "test2", "test3"), DEV("dev", "dev"), LOCAL("本地", "local&q ...
分析spring的Environment(配置文件)的加载
项目立项->开发->测试->维护->上线->维护,这几个过程中分为不同的环境。不同的环境不同业务有着不同的逻辑。spring完美支持启动的时候加载不同的配置文件。我们通过指定不同的spring.profiles.active即可实现加载不同的配置文件。不管怎么样默认会加载如下几个配置文件
1234567891011121314151617181920212223public class ConfigFileApplicationListener implements EnvironmentPostProcessor, SmartApplicationListener, Ordered { ... // Note the order is from least to most specific (last one wins) private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,f ...