温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Springboot中注解及配置文件加载顺序是怎样的

发布时间:2021-11-15 09:14:29 来源:亿速云 阅读:460 作者:柒染 栏目:开发技术

这篇文章将为大家详细讲解有关Springboot中注解及配置文件加载顺序是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Springboot常用注解及底层实现

1、@SpringBootApplication:这个注解标识了一个SpringBoot工程,她实际上是另外三个注解的组合,分别是:

Springboot中注解及配置文件加载顺序是怎样的

@SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有一个@Configuration,把该类变成一个配置类,表示启动类也是一个配置类;

Springboot中注解及配置文件加载顺序是怎样的

@EnableAutoConfiguration:是开启自动配置的功能,向Spring容器中导入了一个Selector,用来加载ClassPath下SpringFactories中所定义的自动配置类,将这些自动加载为配置Bean;

Springboot中注解及配置文件加载顺序是怎样的

由@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

关于Springboot中注解及配置文件加载顺序是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI