一、SpringBootApplication的介绍
@SpringBootApplication
是一个组合注解,由@Configuration
、@EnableAutoConfiguration
和@ComponentScan
这三个注解组合而成。它的主要作用是标注一个 Java 类作为 Spring Boot 应用程序的启动类,当运行该类的main
方法时,Spring Boot 会自动进行一系列的配置和初始化操作,从而启动整个应用程序。
二、SpringBootApplication的特点
- 自动配置:这是
@SpringBootApplication
的核心特点之一。通过@EnableAutoConfiguration
注解,Spring Boot 会根据项目中添加的依赖自动配置 Spring 框架的各种组件,如数据源、Web 容器、消息队列等。大大减少了开发人员手动配置的工作量,提高了开发效率。 - 组件扫描:
@ComponentScan
注解会自动扫描启动类所在包及其子包下的所有组件,如@Controller
、@Service
、@Repository
等注解标注的类,并将它们注册到 Spring 容器中,方便在应用程序中进行依赖注入和使用。 - 简化配置:将多个注解组合在一起,避免了在启动类中显式地添加多个注解,使代码更加简洁清晰,减少了配置的复杂性。
- 灵活定制:虽然 Spring Boot 提供了大量的自动配置,但开发人员仍然可以根据具体需求对自动配置进行定制。可以通过在
application.properties
或application.yml
配置文件中设置相关属性,或者创建自定义的配置类来覆盖默认的自动配置。
三、SpringBootApplication的使用
- 基本使用
- 1、创建一个 Java 类作为 Spring Boot 应用程序的启动类,通常将其放在项目的根包或根包的子包下。、
- 2、在该类上添加
@SpringBootApplication
注解。 - 3、在启动类中定义一个
main
方法,在main
方法中调用SpringApplication.run()
方法来启动应用程序。例如:
java">import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}
- 定制自动配置
- 通过在
application.properties
或application.yml
配置文件中设置相关属性来定制自动配置。例如,配置服务器端口号:server.port=8081
。 - 创建自定义的配置类来覆盖默认的自动配置。例如,如果想自定义数据源的配置,可以创建一个配置类并实现
DataSourceConfigurer
接口,然后在该类中进行数据源的相关配置。
- 通过在
- 与其他框架集成
- 在使用 Spring Boot 与其他框架集成时,
@SpringBootApplication
同样起着关键作用。比如与 MyBatis 集成时,只需要在pom.xml
文件中添加 MyBatis 和 Spring Boot 与 MyBatis 的整合依赖,然后在启动类所在包及其子包下创建 MyBatis 的Mapper
接口和对应的Mapper.xml
文件,Spring Boot 会自动扫描并配置好 MyBatis 相关组件,无需进行复杂的手动配置。
- 在使用 Spring Boot 与其他框架集成时,