相信广大程序员们都有所感受,开发项目的时候(JavaEE)仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。那SpringBoot是不是能解决这些问题呢?以下为SpringBoot解决的问题:
1、SpringBoot使编码变得简单;
声明一项依赖,实现一个方法
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
}
2、SpringBoot使配置变得简单;
Spring由于其繁琐的配置,一度被人认为“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因。
Spring Boot更多的是采用Java Config的方式,对Spring进行配置。
3、SpringBoot使部署变得简单;
一键启动,解压jar,运行jar;
不需要预部署到应用服务器;
降低对运行环境的基本要求,环境变量中有JDK即可;
4、SpringBoot使监控变得简单;
可以看到,采用了spring-boot-start-actuator之后,直接以REST的方式,获取进程的运行期性能参数。
当然这些metrics有些是有敏感数据的,spring-boot-start-actuator为此提供了一些Basic Authentication认证的方案,这些方案在实际应用过程中也是不足的。
5、SpringBoot的不足;
- 缺少注册、发现等外围方案
- 缺少外围监控集成方案
- 缺少外围安全管理方案
- 缺少REST落地的url规划方案等等、
SpringBoot的主要特性:
- 使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可;
- 项目快速搭建,可以无需配置的自动整合第三方的框架;
- 可以完全不使用XML配置文件,只需要自动配置(注解)和Java Config;
- 内嵌Servlet容器,降低了对环境的要求;
- 提供starter简化Manen配置,Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖;
- 运行中应用状态的监控;