本文介绍一些常见的Springboot注解,并写出自己的个人看法
前言
本文介绍一些常见的Springboot注解,并写出自己的个人看法
一、@SpringBootApplication
作用:标注在某个类上说明这个类是SpringBoot的主配置类 , SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
进入这个注解:可以看到上面还有很多其他注解!
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
二、@ComponentScan
这个注解在Spring中很重要 ,它对应XML配置中的元素。
作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中
三、@SpringBootConfifiguration
作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类; 我们继续进去这个注解查看
这里的 @Confifiguration,说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件;
里面的 @Component 这就说明,启动类本身也是Spring中的一个组件而已,负责启动应用!
我们回到 SpringBootApplication 注解中继续看。
四、@EnableAutoConfifiguration
@EnableAutoConfifiguration :开启自动配置功能
以前我们需要自己配置的东西,而现在SpringBoot可以自动帮我们配置 ; @EnableAutoConfifiguration
告诉SpringBoot开启自动配置功能,这样自动配置才能生效;
点进注解接续查看:
@AutoConfifigurationPackage : 自动配置包
总结
1. SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取
EnableAutoConfifiguration指定的值
2. 将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作;
3. 整个J2EE的整体解决方案自动配置都在springboot-autoconfifigure的jar包中;
4. 它会给容器中导入非常多的自动配置类 (xxxAutoConfifiguration), 就是给容器中导入这个场景需 要的所有组件 , 并配置好这些组件 ;
5. 有了自动配置类 ,免去了我们手动编写配置注入功能组件等的工作;