本篇文章小编给大家分享一下Springboot常用注解及配置文件加载顺序解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Springboot常用注解及底层实现
1、@SpringBootApplication:这个注解标识了一个SpringBoot工程,她实际上是另外三个注解的组合,分别是:
@SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有一个@Configuration,把该类变成一个配置类,表示启动类也是一个配置类;
@EnableAutoConfiguration:是开启自动配置的功能,向Spring容器中导入了一个Selector,用来加载ClassPath下SpringFactories中所定义的自动配置类,将这些自动加载为配置Bean;
由@AutoConfigurationPackage和@Import组成,前者表示让包中的类能够被自动扫描到spring容器中;使用import是往Spring容器中导入一个组件,将主配置类的所在包及子包所有组件扫描加载到Spring容器;
Springboot在启动的时候,从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作。以前需要我们自己配置的东西,自动配置类都帮我们完成了。
@ComponentScan:标识扫描路径,因为默认是没有配置实际扫描路径的,所以SpringBoot扫描的路径是启动类所在的当前目录;
2、@Bean注解:用来定义Bean,类似于XML中的
3、@Controller、@Service、@ResponseBody、@Autowired
Springboot中配置文件的加载顺序
优先级从高到低,高优先级的配置覆盖低优先级的配置,所有配置会形成互补配置;
1、命令行参数。所有的配置都可以在启动命令行上进行指定;
2、Java系统属性(System.getProperties)
3、操作系统环境变量;
4、jar包外部的application-{profile}.properties或.yml配置文件;可以通过制定配置文件的方式:
--spring.config.location=/bdl/application.properties
5、jar包内部的配置文件;
6、@Configuration注解类上的@PropertySource
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级