Springboot的自动装配,为开发提供了非常多的变量。但是也是因为封装太好,开发不用关注细节,很多异常问题的排查毫无头绪。
覆盖面
条件化配置
Spring 4.0引入的新特征。条件化配置允许配置存在应用程序中,但在满足某些条件之前都忽略这个配置。
例如:
@Bean
@Conditional(JdbcTemplateCondition.class)
public AtBean myService() {
return new AtBean();
}
使用自动配置有一个前提是在工程中配置了@EnableAutoConfiguration or @SpringBootApplication 而且是替代性,如果手工配置了相关的bean,自动配置的默认配置类就会失效。
关闭自动配置
如果项目关掉部分的自动配置,可用使用
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
依赖注入
sb推荐的IOC的使用是,通过@ComponentScan自动扫描@Component, @Service, @Repository, @Controller注解修饰的类。
如果有一个构造方法可以省略@Autowired:
也就是说,使用的构造器注入的形式(官方文档推荐)。当然也可以使用属性注入。