内容简介:我们都知道springboot的这个原理@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan那么这三个注释代表什么意思?@Configuration 和 @EnableAutoConfiguration都有配置,有什么区别?@EnableAutoConfiguration:启用Spring Boot的自动配置机制,类似在java代码中自动import,属于自动导入。
我们都知道springboot的这个原理@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
那么这三个注释代表什么意思?@Configuration 和 @EnableAutoConfiguration都有配置,有什么区别?
@EnableAutoConfiguration:启用Spring Boot的自动配置机制,类似在 java 代码中自动import,属于自动导入。
这是告诉Spring Boot根据你添加的jar依赖关系“猜测”你想要如何配置Spring。如果你在pom.xml中配置了依赖spring-boot-starter-web,那么其jar包会加入到类路径classpath,spring会自动配置Tomcat和Spring MVC。
自动配置spring mvc是什么意思?如果不是自动配置,我们需要手工配置如下:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/todo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
当我们使用Hibernate / JPA时,我们还需要配置数据源,实体管理器工厂,事务管理器等。
使用自动配置以后,就不需要手工配置了。
@Configuration:有自动导入就有属于自动导出,需要配合该类中方法的@bean,这就相当于一个xml配置:
<beans>
<bean id="b" class="springsimple.B"/>
<bean id="a" class="springsimple.A"/>
</beans>
@bean等于一行bean配置,整个
Xml配置文件等于@Configuration注释的类,spring已经从xml配置为主模式转变到类注释为主的代码模式,估计以后走向函数式方式。
上面这份配置中的A和B类型如果被其他地方需要,比如在其他某处有:
public class C{
@Autowire
private A a;
}
那么在C类就可以使用你提供的A类型了,所以说是导出作用,提供bean源。
@ComponentScan:扫描所有使用@Component 的类,不管自动导入还是导出,首先需要告诉spring boot到哪里去找导入导出的原料。
@SpringBootApplication注解相当于使用@Configuration,@EnableAutoConfiguration以及@ComponentScan 与他们的默认属性。
以上所述就是小编给大家介绍的《Spring Boot的@Configuration和自动配置有什么区别?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 6、如何获取配置中心的配置
- React降级配置及Ant Design配置
- vscode 配置eslint 开发vue的相关配置
- git commit 规范校验配置和版本发布配置
- hadoop地址配置、内存配置、守护进程设置、环境设置
- 在hibernate中配置事务级别与命名查询配置【原创】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法分析导论
(美)Robert Sedgewick、(法)Philippe Flajolet / 冯舜玺、李学武、裴伟东、等其他 / 机械工业出版社 / 2006-4 / 38.00元
本书阐述了用于算法数学分析的主要方法,所涉及的材料来自经典数学课题,包括离散数学、初等实分析、组合数学,以及来自经典的计算机科学课题,包括算法和数据结构,本书内容集中覆盖基础、重要和有趣的算法,前面侧重数学,后面集中讨论算法分析的应用,重点的算法分的的数学方法。每章包含大量习题以及参考文献,使读者可以更深入地理解书中的内容。 本书适合作为高等院校数学、计算机科学以及相关专业的本科生和研究生的......一起来看看 《算法分析导论》 这本书的介绍吧!