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中的<bean>标签,Spring在启动时,会对加了@Bean注解的⽅法进⾏解析,将⽅法的名字作为beanName,并通过执⾏⽅法得到bean对象;
3、@Controller、@Service、@ResponseBody、@Autowired
Springboot中配置⽂件的加载顺序
优先级从⾼到低,⾼优先级的配置覆盖低优先级的配置,所有配置会形成互补配置;
1、命令⾏参数。所有的配置都可以在启动命令⾏上进⾏指定;
2、Java系统属性(Properties)
springboot和过滤器3、操作系统环境变量;
4、jar包外部的application-{profile}.properties或.yml配置⽂件;可以通过制定配置⽂件的⽅式:
--fig.location=/bdl/application.properties
5、jar包内部的配置⽂件;
6、@Configuration注解类上的@PropertySource
到此这篇关于Springboot常⽤注解及配置⽂件加载顺序详解的⽂章就介绍到这了,更多相关Springboot常⽤注解内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。