16.自动配置机制

    xiaoxiao2022-07-05  148

            SpringBoot的自动配置机制是想基于你添加的依赖jar包来自动配置你得应用。例如, 你添加了HSQLDB,你无需手动配置任何bean,因为SpringBoot自动配置了一个内存数据库。

            你可以选择添加@EnableAutoConfiguration或@SpringBootApplication来自动配置被 @Configuration注释的类。

    提示

            你应该在 @SpringBootApplication、@EnableAutoConfiguration两个注释间只添加一个,通常建议只在主@Configuration类中添加二者之一。

    16.1 逐渐的取代自动配置机制

            自动配置机制是非侵入式的,在任何时候,都可以使用自定义的配置来替换自动配置的一些部分。例如,如果你添加了自定义的DateSource依赖,默认的嵌入式数据库就会失效。

            如果你想要知道当前自动配置机制都配置了什么以及原因,你可以打开debug开关,这样做可以启动选择的核心功能的日志功能并打印到控制台。

    16.2 禁用指定的自动配置类

            如果你发现有一些自动配置的类你并不想启动,你可以在@EnableAutoConfiguration注释中添加例外来禁用他们,代码如下:

    import org.springframework.boot.autoconfigure.*; import org.springframework.boot.autoconfigure.jdbc.*; import org.springframework.context.annotation.*; @Configuration @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration { }

            如果该类并没有在classpath下,你可以使用excludeName,它可以通过类的完全限定名来禁用配置类。同时,也可以通过spring.autoconfigure.exclude配置项来控制你得自动配置类的列表。

    提示

            你可以同时在注释中和配置文件中对自动配置类进行禁用

     

     

    总目录:总纲 Spring Boot官方文档(2.1.5版翻译)

    上一篇:15.配置类

    下一篇:17.Spring Beans和依赖注入

    最新回复(0)