springboot学习——@SpringBootApplication与@EnableAutoConfiguration、@ComponentScan注解

@EnableAutoConfiguration:这个注解是是Springboot根据我们所引入的jar包自动配置的,假设我们有自己的配置类则会覆盖
—————————————————————————————————————————————————
@ComponentScan:是告诉springboot进行包扫描的(可以定义)
—————————————————————————————————————————————————
@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
—————————————————————————————————————————————————
@SpringBootApplication:注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
—————————————————————————————————————————————————

官方文档是这么说的:
许多Spring Boot开发人员总是使用@Configuration,@EnableAutoConfiguration和@ComponentScan来标注它们的主类。 由于这些注解经常一起使用(特别是如果您遵循之前说的最佳实践),Spring Boot提供了一个方便的@SpringBootApplication注解作为这三个的替代方法。

@SpringBootApplication注解相当于使用@Configuration,@EnableAutoConfiguration和@ComponentScan和他们的默认属性

package com.example.myproject;

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的属性。
@SpringBootApplication是一个复合注解,它包含了以下三个注解: 1. @SpringBootConfiguration:用于指定当前类是Spring Boot的配置类,可以替换传统的XML配置文件,提供了更加方便和灵活的配置方式。 2. @EnableAutoConfiguration:自动配置注解,用于自动配置Spring Boot应用程序,根据classpath中的jar包自动配置应用程序。 3. @ComponentScan:用于扫描指定的包或类,将其加入到Spring容器中,使其成为Spring管理的Bean。 @SpringBootApplication注解的主要作用是简化Spring Boot应用程序的配置,在使用时只需要在主类上添加注解即可,无需手动配置XML文件或Java Config文件,Spring Boot会自动根据当前classpath中的jar包、类和注解进行自动配置和初始化。 其中,@EnableAutoConfiguration注解@SpringBootApplication注解的核心,它会自动根据当前classpath中的jar包进行自动配置,例如自动配置数据库连接、事务管理、Web应用程序、安全性等方面的内容,这些都是Spring Boot的自动配置功能。而@ComponentScan注解则会扫描指定的包或类,将其加入到Spring容器中,使其成为Spring管理的Bean。 总之,@SpringBootApplication注解是Spring Boot应用程序的核心注解,它能够简化应用程序的配置和初始化过程,提高开发效率。同时,它也体现了Spring Boot框架的核心理念——约定优于配置,让开发人员专注于业务逻辑的实现,而不必过多关注底层的技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值