Spring boot 核心注解
@SpringBootApplication 注解
在spring boot应用之中,咱把范围缩小一点,就是说spring boot应用的快速构建包下的启动类中,通常的类名称为 “XXXApplication.java”在spring boot的快速构建包下的启动类名称通常会为“DemoApplication”,而这个启动类名称前的(即Application前的)名称,是由你在https://start.spring.io/生成中的名称,比如本文是通过默认的名称来进行下载的,所以就是**DemoApplication**。
通常在未没有放上注解的情况下,这个就是一个程序入口类,并不是一个启动类,而在他真正成为一个启动类之前,需要在名为XXXApplication程序入口类中写上一个程序的启动类加上spring boot核心注解为@SpringBootApplication标注为应用的启动类,而不是单单的程序入口。你也可以理解为你一个处男,只有当有女朋友之后干了那个事情你才可以成为男人懂我意思吧?。
另外,在spring boot中的启动类都有一个非常标准的Java应用程序main方法,在main方法中通过SpringApplication.run(DemoApplication.class, args);,来启动spring boot应用,启动类的标准代码如下:
1 | package com.example.demo; |
注意啊,上面代码不用你自己写,人家spring boot是遵循开箱即用原则的,虽然说最后还要导入后下载并更新maven,很多树上和文章上都会让读者手写上面的标准代码,其实他们也不一定是手写的,就是他妈的复制粘贴在这装比,凑个文章字数显得高达上,就跟本文一样。
在这其中,@SpringBootApplication是spring boot应用中的核心注解,也是一个组合注解,主要组合了@ComponentScan、@SpringBootConfiguration、@EnableAutoConfiguration等注解,我们可以通过查阅java的官方文档得知结果:
1 | Open Declarationorg.springframework.boot.autoconfigure.SpringBootApplication |
关闭特定的自动配置类
在SpringBootApplication.class中我们可以通过其注释了解到@SpringBootApplication注解的作用和其他方式,如我们可以使用@SpringBootApplication注解来实现关闭特定的自动配置类
| ID | DA |
|---|---|
| @AliasFor(annotation = EnableAutoConfiguration.class) | 排除特定的自动配置类 |
| @AliasFor(annotation = EnableAutoConfiguration.class) | 排除特定的自动配置类名 |
@EnableAutoConfiguration 注解
@EnableAutoConfiguration注解可以让spring boot可以根据当前的应用项目的依赖自动选择jar文件来自动配置。
@ComponsentScan 注解
@ComonsentScan注解功能让Spring Boot自动扫描@SpringBootApplication所在类的同级包中的配置。
⬅️ Go back