1.springboot如何读取自动装配对象
通常情况下,springboot的自动装配会扫描每个包下META-INF下面的Spring.factories文件中的配置
如图:
文件内容如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.InfoContributorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.ManagementServerPropertiesAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricsDropwizardAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricsChannelAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\
org.springframework.boot.actuate.cloudfoundry.CloudFoundryActuatorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration=\
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration
springboot会自动加载EnableAutoConfiguration后面数组的所有bean对象。
2.如果不装配这些对象
在spring启动注解后面增加exclude熟悉,后面配置EnableAutoConfiguration后的class对象即可。
3.如何装载自定义对象
通常我们提供一些私有jar包,却又想springboot自动装配时,也是在项目目录下增加META-INF 文件夹和spring.factories文件
并且配置
org.springframework.boot.autoconfigure.EnableAutoConfiguration项
这样启动的时候就会扫描到你需要装载的配置项。
import org.springframework.context.annotation.ComponentScan;
@ComponentScan(
basePackages = {"com.demo.test.*"}
)
public class AutoConfiguration {
public AutoConfiguration() {
}
}
配置可以写下包扫描,这样springboot就会自动扫描自定义jar包中的bean对象了。