Java、ssm(AI) 2025/5/17

发布于:2025-05-18 ⋅ 阅读:(26) ⋅ 点赞:(0)

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

这俩包分别是干嘛的

这两个包是Spring Boot框架中的核心组件,它们的作用如下:

1. `org.springframework.boot.SpringApplication`
   - 这是Spring Boot应用的启动类
   - 主要功能:负责启动Spring应用,创建适当的ApplicationContext实例,加载bean等
   - 关键方法:`run()` - 用于启动Spring应用
   - 会自动设置默认配置,如默认的配置文件加载、日志系统初始化等

2. `org.springframework.boot.autoconfigure.SpringBootApplication`
   - 这是一个组合注解(composed annotation),包含三个核心注解:
     * `@SpringBootConfiguration` - 标识这是一个Spring Boot配置类
     * `@EnableAutoConfiguration` - 启用Spring Boot的自动配置机制
     * `@ComponentScan` - 启用组件扫描,自动发现和注册Bean
   - 通常用在主类(main class)上,标记这是一个Spring Boot应用

典型用法示例:

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

@SpringBootApplication这个注释是干嘛的

@SpringBootApplication 是 Spring Boot 最核心的注解,它是一个组合注解,用于简化 Spring Boot 应用的初始配置。它的作用相当于同时使用以下三个关键注解:

① @SpringBootConfiguration
  • 本质是 @Configuration 的变体,标记该类为配置类

  • 允许在类中通过 @Bean 定义 Spring 容器管理的对象。

② @EnableAutoConfiguration(核心)
  • 自动配置 Spring Boot 应用的默认行为。

  • 根据项目的依赖(如 spring-boot-starter-webspring-boot-starter-data-jpa自动配置组件(如数据源、MVC、事务等)。

  • 底层通过 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件加载配置类。

③ @ComponentScan
  • 自动扫描当前包及其子包下的组件(如 @Controller@Service@Repository)。

  • 无需手动配置 XML 或 Java Bean。

SpringApplication.run() 完成:

启动Spring容器

初始化自动配置的组件(如Web服务器)

加载所有@Component、@Service等注解的Bean(但不会主动调用它们的方法,除非被依赖注入触发)。


网站公告

今日签到

点亮在社区的每一天
去签到