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系统属性(System.getProperties)

3、操作系统环境变量;

4、jar包外部的application-{profile}.properties或.yml配置文件;可以通过制定配置文件的方式:

--spring.config.location=/bdl/application.properties

5、jar包内部的配置文件;

6、@Configuration注解类上的@PropertySource

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值