对于Spring,相信大家都非常熟悉,从出现开始,一直是企业级开发的主流。但是随着软件的发展和应用开发的不断演化,它的一些缺点也逐渐胡暴露了出来,下面,我们就一起看一下Spring的发展历程并且认识一下Spring Boot。

由来

在Spring 1.x的时候,所有的配置都通过XML,随着项目的扩大,需要频繁的在java和XML之间切换。 在Spring 2.x的时候,已经开始逐步替换掉XML配置。在Spring 3.x的时候,已经开始提供java的配置方式,在4.x的时候,已经全部推荐使用java配置的方式。随着动态语言的流行,java的开发显得格外的繁琐,体现在配置的复杂、开发效率低下、部署以及与第三方的集成繁杂,这个时候Spring Boot应运而生。

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置,减少与第三方库集成的复杂度。 Spring Boot 的核心思想就是约定大于配置,多数 Spring Boot 应用只需要很少的 Spring 配置。采用 Spring Boot 可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。

特性

1.方便地创建独立的Spring应用,为基于Spring的开发提供更快的入门体验。2.内置嵌入tomcat,无需生成war文件。3.简化maven配置。4.自动配置Spring,更快、更方便的与第三方应用整合,比如消息队列、缓存等在企业级开发中常用的组件。5.提供大型项目中的非功能特性。如:指标、安全、健康检查及外部配置。6.开箱即用,无需代码生成,也无需XML配置,同时也能够通过修改默认值来满足待定的需求。

四大神器

自动配置

Spring Boot 的自动配置功能可基于类路径检测自动为运行中的应用配置依赖关系,不需要提供额外的XML配置。

Starters

Spring Boot 可提供一系列称为 POM Starters 的精细依赖关系。Spring Boot 熟知如何配置这些依赖关系,同时让组织能够扩展 Spring Boot 来配置自定义的依赖关系。

Actuator

Actuator 可提供运行状况检查和指标等生产就绪型功能。这些功能通过 Spring Boot 应用内的 REST 终端提供。只需要简单的配置就可以实现强大的监控和检查。

开发工具

这些工具旨在缩短开发和测试周期,其中包括一个可在资源变更时触发浏览器刷新的嵌入式 LiveReload 服务器。这些工具还提供了应用自动重启功能,只要类路径上的文件发生更改,该功能更即可启动。重启技术使用两种类加载器。未更改的分类(例如来自第三方 JAR 的类)被加载到基础类加载器,而开发中的分类则被加载到重启类加载器。当应用重启时,重启类加载器会被丢弃,同时创建一个新的类加载器。这种方法意味着应用重启的速度通常要比“冷启动”的速度快得多,因为基础类加载器已准备就绪且已填充完毕。从而快速实现应用的热部署,对于简单的修改这种场景能够非常有效的提高效率。

最新文章

  1. Log4j简介
  2. 初识Spring框架
  3. 使用Struts 2框架实现文件下载
  4. Google search
  5. 使用Java反射(Reflect)、自定义注解(Customer Annotation)生成简单SQL语句
  6. Linux守护进程daemon
  7. nyoj 234 吃土豆
  8. MEF框架在Silverlight中应用(15)
  9. The APR based Apache Tomcat Native library tomcat启动错误
  10. Mybatis Mapper.xml 需要查询返回List<String>
  11. Codeforces Round #401 (Div. 2)
  12. Activiti6-TaskService(学习笔记)重要
  13. Linux,Ubuntu,Mint 环境下 navicat 乱码问题
  14. C# 解压与压缩文件
  15. mybatis批量更新报错badsql
  16. python 当前时间多加一天、一小时、一分钟
  17. js获取精确的元素宽高(普通获取高度会有误差)
  18. SVM学习笔记5-SMO
  19. .tar.gz 和.tgz 解压
  20. spring boot中,jar包、war包的区别

热门文章

  1. Spring_配置Bean & 属性配置细节
  2. Excel常用小方法
  3. 相邻元素margin的自动合并与float的坑
  4. 小谢第6问:js中,filter函数是怎么使用的
  5. 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
  6. Python机器学习笔记:SVM(1)——SVM概述
  7. ActiveMQ 笔记(七)ActiveMQ的多节点集群
  8. Java并发编程 (四) 线程安全性
  9. webpack+vue2.0项目 (一) vue-cli脚手架
  10. Java实现 LeetCode 699 掉落的方块(线段树?)