spring-boot 笔记 注解 (二)

在Spring 的启动类,经常会见到一个注解 @SpringBootApplication  , 它等价于 @EnableAutoConfiguration 和@ComponentScan  、@Configuration 三个 注解的结合.


@ComponentScan  可以自动获取所有的Spring 组件, 包含 @Configuration 类.
 

Spring Boot支持基于java的配置。尽管可以使用SpringApplication XML源文件,我们通常建议您的主要源文件是一个@Configuration类。 通常,定义main方法的类很适合作为主@Configuration。

1、导入额外的Configuration 类

 您不需要将所有@Configuration放入一个类中。可以使用@Import注释 以导入其他配置类。或者,您可以使用@ComponentScan来自动执行获取所有Spring组件,包括@Configuration类。

2、导入XML 配置文件

如果您绝对必须使用基于XML的配置,我们建议您仍然从这里开始 @ configuration类。然后可以使用@ImportResource注释来加载XML 配置文件。

3、自动配置

自动配置非侵入性。在任何时候,您都可以开始定义要替换的配置 自动配置的特定部分。例如,如果您添加自己的数据源bean,则默认值为 嵌入式数据库支持后退。如果您需要了解当前应用的是什么自动配置,以及为什么,请启动您的应用程序 使用--debug开关。这样做可以为选择的核心日志记录器和log a启用调试日志向控制台报告情况。

如果您发现正在应用您不想要的特定自动配置类,您可以使用@EnableAutoConfiguration的exclude属性禁用它们,如下所示

例子:

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

如果类不在类路径上,则可以使用注释的excludeName 属性并指定使用完全限定名。最后,你也可以控制自动配置类的列表

使用 spring.autoconfigure.exclude 属性。

发布了192 篇原创文章 · 获赞 254 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/yulei_qq/article/details/88870939