返回介绍

3.6 使用@SpringBootApplication注解

发布于 2021-03-17 13:07:52 字数 1833 浏览 1011 评论 0 收藏 0

许多Spring Boot开发人员喜欢他们的应用程序使用自动配置,组件扫描,并能够在他们的“应用程序类”上定义额外的配置。 单个@SpringBootApplication注释可用于启用这三个功能,即:

  • @EnableAutoConfiguration: 启用Spring Boot的自动配置机制
  • @ComponentScan: 在应用程序所在的包上启用@Component扫描(请参阅最佳实践)
  • @Configuration: 允许在上下文中注册额外的bean或导入其他配置类

@SpringBootApplication注释等同于使用@Configuration,@EnableAutoConfiguration和@ComponentScan及其默认属性,如以下示例所示:

package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}

@SpringBootApplication还提供别名来自定义@EnableAutoConfiguration和@ComponentScan的属性。

这些功能都不是必需的,您可以选择通过它启用的任何功能替换此单个注释。 例如,您可能不希望在应用程序中使用组件扫描:

package com.example.myapplication;

import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import;

@Configuration @EnableAutoConfiguration @Import({ MyConfig.class, MyAnotherConfig.class }) public class Application {

public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
}

}

在此示例中,Application与任何其他Spring Boot应用程序一样,只是不会自动检测@Component-注解类,并且显式导入用户定义的bean(请参阅@Import)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文