springboot学习:《知识篇》自动装配
程序员文章站
2022-03-23 23:21:57
...
Spring自动装配会通过你已经添加的依赖来装配相应的bean。例如,你有一个HSQLDB在路径里面,你没有特别的手动指明需要的数据库连接bean,Spring会自动装配一个内存数据库。
在使用的时候,需要在 @Configuration注明的配置类上添加@EnableAutoConfiguration 或@SpringBootApplication注解。
在任何时候,您都可以开始定义自己的配置来替换自动配置的特定部分。例如,如果您添加了自己的数据源bean,那么默认的嵌入式数据库支持就会消失。
你也可以禁用特殊的自动装配类。@EnableAutoConfiguration的exclude属性可以禁用你不想使用的配置。如:
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}
如果类不在类路径上,则可以使用@EnableAutoConfiguration的excludeName属性并指定完全限定名。
当然,还可以使用spring.autoconfigure.exclude属性控制要排除的自动配置类的列表。
全凭个人喜好。
尽管自动装配的类是public的,但是在禁用自动装配的时候,只有这些类的名字是我们采用的,而非其内的方法或镶嵌类,即使用类名来限定。