在这篇文章中,我们将讨论注解@EnableAutoConfiguration的重要性,并举一个例子来让你开始。让我们开始吧!
@EnableAutoConfiguration注解告诉Spring Boot根据你添加的jar依赖项来 "猜测 "你想如何配置Spring。
由于 spring-boot-starter-web
依赖项被添加到 classpath 中,导致配置 Tomcat
和 Spring MVC
,自动配置假定你正在开发一个 Web 应用程序并相应地设置 Spring。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
当使用@SpringBootApplication注解时,上下文的自动配置被自动启用,因此,添加该注解没有额外的效果。
下图显示了@EnableAutoConfiguration的内部实现。
让我们将@EnableAutoConfiguration注解添加到Application
类或Main
类中,以在Spring boot项目中启用自动配置功能。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Class<?>[] exclude
排除特定的自动配置类,使其永不被应用。String[] excludeName
- 排除特定的自动配置类名称,这样它们将永远不会被应用。如果你发现你不想要的特定自动配置类正在被应用,你可以使用@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 {
}
我们可以使用注解的excludeName属性并指定完全合格的名称来代替。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@EnableAutoConfiguration(excludeName = {"org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration",
"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/09/spring-boot-enableautoconfiguration-annotation-with-example.html
内容来源于网络,如有侵权,请联系作者删除!