背景概述
随着敏捷,精益,持续交付等价值观和方法论的提出与实践,DevOps文化的推行以及市场对快速交付的需要,Java社区也试着寻找一种能够快速进行持续交付,同时提供强大运维能力的框架,SpringBoot正是在这个背景之下被创建出来的。
我们知道,Java一直被人诟病的一点就是臃肿、麻烦,比如:
1)复杂的配置
项目各种配置降低了开发效率,大量的配置占用了应用程序逻辑编写的时间。
2)混乱的依赖管理
项目的依赖管理是费力不讨好的工作,不仅要知道引入哪些库的依赖,还需要解决库版本之间的冲突问题,这占用了大量的应用程序逻辑编写时间,无形中降低了项目开发效率。
而SpringBoot让这一切成为过去!
SpringBoot是什么?
SpringBoot是Spring家族中的一个子项目,与我们所熟知的Spring、Spring mvc 同属于spring的产品:
Spring Boot 推崇约定大于配置的方式以便于能够尽可能快速的创建并运行程序,做到开箱即用,迅速开发,让我们专注于业务而非配置与依赖。
SpringBoot的核心特性
SpringBoot本身基于spring开发,可创建独立的Spring应用程序;
SpringBoot Actuator提供了许多运维特性如:应用运行状态检查,健康检查,信息监控等;
metrics度量指标:memory,heap,class loading,processor和thread pool信息;
SpringBoot 内置服务器,可选的服务器有Tomcat,undertow,jetty;
没有对代码生成和xml的要求配置,更加轻量;
自动配置spring,简化maven配置;
提供cli(命令行)工具(利用grovvy),可以在命令行上安装和操作SpringBoot项目;
SpringBoot的设计思想
SpringBoot的目标并不是要解决某类新的问题,而是对已经解决了的问题提出一种新的解决方案,带来另一种开发体验,从而简化对这些已有技术的使用;
1)模块化思想
Spring Boot对Spring应用的开发进行了简化,提供了模块化方式导入依赖的能力,强调了开发RESTful Web服务的功能并提供了生成可运行jar的能力,这一切在开发可部署的微服务方面Spring Boot框架是一个强大的工具;
可以很容易的将spring-boot-starter-data-jpa(数据访问),spring-boot-starter-security(安全控制), spring integration 等模块导入
2)简化配置
不再像Spring一样需要大量的配置,来完成工作,SpringBoot中提供大量的默认配置、强大的注解让你工作起来更加快速和方便。
3)快速构建
通过SpringBoot cli 可以实现在命令行上快速搭建工程,通过采用Groovy实现交互式的项目创建与运行。
高薪课程推荐:
限时0元 ,免费测评适不适合学Java