java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Boot 注解 @SpringBootApplication

Spring Boot 注解 @SpringBootApplication的使用详解

作者:weixin_45658815

@SpringBootApplication 是 Spring Boot 提供的一个注解,通常用于启动类(主类)上,它是三个注解的组合,本文给大家介绍Spring Boot 注解 @SpringBootApplication的相关知识,感兴趣的朋友一起看看吧

@SpringBootApplication注解

一、简介

@SpringBootApplication 是 Spring Boot 提供的一个注解,通常用于启动类(主类)上,它是三个注解的组合:
1.@Configuration
表示该类是一个配置类,等价于 XML 配置文件。

2.@EnableAutoConfiguration
告诉 Spring Boot 启动自动配置功能,根据类路径下的依赖、配置等自动配置 Spring 应用。

3.@ComponentScan
启动组件扫描,默认扫描当前类所在包及其子包,将标注了如 @Component、@Service、@Repository、@Controller 等注解的类注入 Spring 容器。

二、使用

1.指定要扫描的包

默认情况下,@SpringBootApplication 会从它所在的包开始向下递归扫描所有子包中的组件(如 @Component@Service@Repository@Controller@Configuration 等)。

如果你的项目中有一些组件不在 @SpringBootApplication 所在包的子包里,就需要手动设置 scanBasePackages 来指定需要扫描的包路径。
示例如下:

@SpringBootApplication(scanBasePackages = {"com.demo.module.system", "com.demo.module.infra"})
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

使用场景

补充
使用 ${} 来注入配置属性值,如下:

@SpringBootApplication(scanBasePackages = {"${demo.info.base-package}.server", "${demo.info.base-package}.module"})
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

.yaml文件如下:

demo:
  info:
    base-package: com.demo

注:自定义starter使用@AutoConfiguration注解,无需将其路径放入扫描路径中。

到此这篇关于Spring Boot 注解 @SpringBootApplication的使用详解的文章就介绍到这了,更多相关Spring Boot 注解 @SpringBootApplication内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文