自动配置有哪几个注解有关

如题所述

自动配置与@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan注解有关。

@SpringBootConfiguration:@Configuration这个注解的作用就是声明当前类是一个配置类,然后Spring会自动扫描到添加了@Configuration的类,读取其中的配置信息,而@SpringBootConfiguration是来声明当前类是SpringBoot应用的配置类,项目中只能有一个,所以一般我们无需自己添加。

@EnableAutoConfiguration:开启自动配置,告诉SpringBoot基于所添加的依赖,去“猜测”你想要如何配置Spring。比如引入了spring-boot-starter-web,而这个启动器中帮忙添加了tomcat、SpringMVC的依赖,此时自动配置就知道是要开发一个web应用,所以就帮你完成了web及SpringMVC的默认配置了!

我们使用SpringBoot构建一个项目,只需要引入所需框架的依赖,配置就可以交给SpringBoot处理了。

@ComponentScan:配置组件扫描的指令提供了类似与<context:component-scan>标签的作用,通过basePackageClasses或者basePackages属性来指定要扫描的包。

如果没有指定这些属性,那么将从声明这个注解的类所在的包开始,扫描包及子包,而我们的@SpringBootApplication注解声明的类就是main函数所在的启动类,因此扫描的包是该类所在包及其子包。因此,一般启动类会放在一个比较前的包目录中。

SpringBoot所具备的特征

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

温馨提示:答案为网友推荐,仅供参考
相似回答