我最近在学习Spring引导,它有太多的魔力。我发现大部分资源,包括官方网站,都专注于如何使用它,而不是解释它是如何工作的。有人可以分享这些资源吗?
更新
也许我的描述引起了一些混乱(关闭投票),我实际上是在寻找以下问题的答案:
答案 0 :(得分:9)
Spring Boot根本不生成任何代码,所有配置都是以编程方式执行的。因此,例如,不会有web.xml
文件来配置您的servlet,而是使用servlet 3.0 API在代码中注册它们。
启动器POM提供了一种将jar添加到类路径的便捷方法,但它们本身并不做任何事情。例如,spring-boot-starter-web
将添加Tomcat和Spring MVC jar,spring-boot-starter-data-jpa
将添加Hibernate和Spring Data JPA等。
一旦你的类路径上有相关的jar,Spring Boot就会尝试为你自动配置。当它启动时,它会查询META-INF/spring.factories
个文件以找到可能的配置(here is an example)。
依次尝试每个配置以查看是否可以应用它。配置使用@Condition
注释来限制它们何时应用。例如,HibernateJpaAutoConfiguration
仅适用于可以找到某些Hibernate类的情况(请参阅here)。自动配置只是典型的Spring @Configuration
类,因此您可以查看源代码以查看实际发生的情况。
参考文档(特别是Appendix B)也可能有所帮助。
答案 1 :(得分:0)
根据我的初步理解,我的答案如下。 基本上,Spring Boot正在帮助根据您的要求提供依赖关系。 我们不需要管理pom.xml。 我们只需要包含Spring Boot的正确基础项目。
所有事情都可以在没有Spring Boot的情况下完成,就像所有仅使用Annotation的配置一样。
以下链接可能会对您有所帮助。 http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/index.html
答案 2 :(得分:0)
对包含的广告进行了简单的实验:
这里有2件事。
有关更多信息,我们需要在--debug选项中运行“spring-boot”应用程序。
这将发布“自动配置报告”,这将有所帮助。