赞
踩
Spring Boot的自动配置主要通过以下几个步骤实现:
@SpringBootApplication
注解。@SpringBootApplication
是一个复合注解,它包括了@Configuration
,@EnableAutoConfiguration
和@ComponentScan
三个注解。其中,@EnableAutoConfiguration
注解就是用于开启自动配置功能的。META-INF/spring.factories
中定义的所有自动配置类。SpringFactoriesLoader
会扫描所有jar包类路径下的META-INF/spring.factories
文件,并将这些文件包装成Properties
对象。Properties
中获取到EnableAutoConfiguration.class
类名对应的值,这些值就是所有需要自动配置的类。然后,Spring Boot将这些类添加到容器中。@Conditional
注解来定义。例如,HttpEncodingAutoConfiguration
类中的@ConditionalOnWebApplication(type=Type.SERVLET)
注解表示只有当当前应用是一个Servlet应用时,这个自动配置类才会生效。@ConfigurationProperties
或@EnableConfigurationProperties
注解来绑定配置文件中的属性,以便能够根据这些属性来进行自动配置。例如,DataSourceAutoConfiguration
类中的@EnableConfigurationProperties
和@ConfigurationProperties
注解就是用来绑定数据库连接相关配置的。总的来说,Spring Boot的自动配置就是在启动时根据预设的规则和条件,自动加载和配置一系列的Bean,从而简化了开发者的配置工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。