Spring Boot是一个Spring框架模块,它向Spring框架提供RAD(快速应用程序开发)功能。它高度依赖入门模板功能,该功能非常强大且可以完美运行。

1.什么是入门模板?
Spring Boot启动器是模板,其中包含启动特定功能所需的所有相关传递依赖项的集合。例如,如果要创建Spring WebMVC应用程序,则在传统设置中,您自己会包含所有必需的依赖项。它留下了版本冲突的机会,最终导致更多的运行时异常。
使用Spring Boot,要创建MVC应用程序,只需导入spring-boot-starter-web依赖项即可。
在spring-boot-starter-web依赖关系之上,内部导入所有给定的依赖关系并将其添加到您的项目中。请注意,某些依赖关系是直接的,某些依赖关系进一步引用了其他入门模板,这些模板可过渡地下载更多依赖关系。
另外,请注意,您不需要在子依赖项中提供版本信息。所有版本都相对于父级启动器的版本进行了解析(在我们的示例中为2.0.4.RELEASE)。
2. Spring Boot自动配置
通过@EnableAutoConfiguration注释启用自动配置。Spring Boot自动配置扫描类路径,在类路径中找到库,然后尝试为它们猜测最佳配置,最后配置所有此类bean。
自动配置会尝试尽可能智能化,并且在您定义更多自己的配置时会自动退出。
Spring boot自动配置逻辑在spring-boot-autoconfigure.jar中实现。Yoy可以在此处验证软件包列表。

例如,查看Spring AOP的自动配置。它执行以下操作
1.扫描类路径,看看EnableAspectJAutoProxy,Aspect,Advice和AnnotatedElement类都存在。
2.如果不存在类,则不会为Spring AOP进行自动配置。
3.如果找到类,则使用Java config批注配置AOP @EnableAspectJAutoProxy。
4.它检查spring.aop可以为true或的属性false。
5.基于属性的值,proxyTargetClass设置属性。

3.嵌入式服务器
Spring Boot应用程序始终将tomcat作为嵌入式服务器依赖项。这意味着您可以从命令提示符运行Spring Boot应用程序,而无需使用复杂的服务器基础结构。
您可以根据需要排除tomcat,并包括任何其他嵌入式服务器。或者,您可以完全排除服务器环境。全部基于配置。
例如,以下配置排除了tomcat,并包括了jetty作为嵌入式服务器。
4.引导应用程序
要运行该应用程序,我们需要使用@SpringBootApplication注释。在幕后,这相当于@Configuration,@EnableAutoConfiguration和@ComponentScan在一起。
它可以扫描配置类,文件并将其加载到spring上下文中。在下面的示例中,执行从main()方法开始。它开始加载所有配置文件,对其进行配置,并根据文件夹中application.properties文件中的应用程序属性引导应用程序。/resources


要执行该应用程序,可以从IDE诸如eclipse运行main()方法,或者可以构建jar文件并从命令提示符下执行。

5. Spring Boot的优点
Spring Boot有助于解决依赖冲突。它标识所需的依赖项并为您导入它们。
它具有所有依赖项的兼容版本信息。它最大程度地减少了运行时类加载器问题。
它的“预设默认配置”方法可帮助您配置幕后最重要的部分。仅在需要时才覆盖它们。否则,一切都会完美地进行。它有助于避免样板代码,注释和XML配置。
它提供了嵌入式HTTP服务器Tomcat,因此您可以快速进行开发和测试。
它与eclipse和intelliJ idea等IDE具有出色的集成。
网友评论