Jar启动(原理都是采用springboot中默认的读法,配在对应的目录)
第一种采用jar读取外部的配置文件
Java -jar springBootDemo-0.0.1-SNAPSHOT.jar --spring.config.location=D:\Jayson\config\application.properties (配置文件路径)
第二种在jar的目录下创建config文件
原理:最先读取同级目录的配置,如果没有在读取resource里面的
优先级高的会覆盖低级的
第三种通过代码里面指定路径
SpringApplicationEvent,读取配置的listenner是在容器初始化之前创建的,而不是容器加载之后再去加载application.properties,xml文件
代码:
Yml:
Properties:
获取上下文的bean对象
获取applicationContext 对象 实现ApplicationContextAware接口就可以了
War启动
与jar一样
@Async出现失效的情况
方法被static的修饰
在同一个类中互相调用
没有在启动类中添加@EnableAsync
添加了除了void ,futuion(有返回值的线程)的返回值