什么是springboot
引
言
这是一篇更专注于介绍springboot的简短文章,我们将讨论“什么是springboot”? 以及springboot如何帮助构建基于Java的企业应用程序。
介绍
作为Java开发人员,我们很可能直接或间接地使用基于Spring Framework的应用程序,Spring有多种方法来配置其行为,它提供了使用基于XML的配置或使用Annotations的方式,JavaConfig正在成为新的基于Spring的应用程序的标准,尽管这些方式似乎非常好,但是大型企业应用程序涉及数百个模块和复杂的业务规则,这些配置可能变得非常复杂。以下是大型应用程序带来的一些复杂情况:
所有上述问题或多或少都与确保在研发团队开始处理实际任务之前我们拥有了所有配置依赖有关,现在让我们谈谈我们用来处理任何基于Spring的应用程序的另一个用例,假设我们想创建一个基于Web的应用程序,这些是我们大多数人定期做的最常见的步骤:
此列表可以根据我们的应用程序类型显著增长。
所有上述步骤对我们来说都很重要,但是它们给开发团队增加了很多开销,而不是专注于解决实际的业务问题,初始时间将被消耗在以确保一切正常来开始工作,将springboot视为可以自动为我们完成这些初始任务的工具,springboot以我们使用的Spring平台的固定视角工作,确保团队可以快速开始解决实际业务问题而不是花时间在初始配置和设置上。
springboot提供了以下开箱即用的功能:
使用springboot,可以轻松管理和处理前边描述的问题,我们不需要在升级期间手动搜索兼容的jar,springboot将确保我们的应用程序升级到正确的版本。
让我们看一下Web应用程序的示例pom.xml,以了解示例springboot配置:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
只需密切关注<packaging>标签,springboot就可以灵活地将我们的应用程序作为jar运行,而不是强迫我们使用war作为必需的打包类型。
仔细检查配置,你不会找到所有Spring依赖项的任何条目(如Web MVC,核心,AOP,ORM,验证API等),你可能已经注意到类似的条目spring-boot-starter- *,这就是springboot的依赖管理过程,我们在我们的pom.xml中添加了spring-boot-starter-web,springboot将为springmvc应用程序获取所有必需的依赖项(不再需要手动配置)。
自动配置是springboot的另一个有趣的特性,这就是springboot团队说它有自己观点的原因,以下是Spring Boot会为你做的一些工作:
应该记得在Servlet容器(Tomcat等)上部署应用程序的过程,每次我们进行这些小改动并要求将它们部署到应用服务器以测试我们的更改,springboot为嵌入式Servlet容器提供支持,我们不再需要在app服务器上部署我们的应用程序(可以使用标准main方法轻松运行),但同时我们可以使用http://<host>:<port>在浏览器上访问我们的应用程序。
我们的pom.xml中的Spring-boot-starter-web条目将为我们的Web应用程序提供嵌入式servlet容器,Apache Tomcat是springboot提供的默认servlet容器,然而,springboot提供了使用其他servlet容器的方法(我们要做的就是添加相应的starter)。
总结
在这篇文章中,我们了解了springboot,介绍了什么是springboot? springboot有什么好处? 讨论了springboot的不同特性,springboot内部为我们做了很多事情,这对我们来说似乎很神奇。
本文分享自 PersistentCoder 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!