SpringBoot之@SpringBootApplication注解

在SpringBoot项目中通过main()方法中的SpringApplication.run()启动当前项目,在启动类上我们通常要加上注解@SpringBootApplication,目的就是告诉SpringBoot,这个启动类是整个程序的入口。

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

细心关注源码的同学们可以发现,@SpringBootApplication注解的底层源码中包含了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan这三个注解 ,下面简述下这几个注解的作用。
在这里插入图片描述

  • @SpringBootConfiguration
    继承了Spring的@Configuration注解,作用是声明此注解类是配置类,并且会将当前类中声明的bean注入到Spring容器中,实例的名字就是方法名。
    在这里插入图片描述
  • @ComponentScan
    Spring中有四大注解@Service,@Repository,@Component,@Controller用来声明这是一个对应类型的bean,@ComponentScan就是用来自动扫描这些加了注解的类,然后注入到spring容器中生成相应的bean。
    如果一个类加了@Controller注解,打算声明当前类为一个控制方法类,但是如果没有加@ComponentScan注解,该类就不会被spring扫描到,更不会注入到spring容器中,所以@Controller注解将毫无意义。

注:所以SpringBoot的启动类最好是放在root package下,因为默认不指定basePackages。但是如果类中引用的bean实例有当前包外的,则需要配置一下包路径用来控制扫描范围。

  • @EnableAutoConfiguration
    通过spring的上下文,猜测并配置你所需要的bean类,通常会根据类路径和bean定义自动配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值