SpringBoot前世今生
序
本文主要讲述spring boot的由来,即其它诞生的背景,初衷,现状,及对未来的展望。
背景
在很早的年代,J2EE还是java企业级应用的王者规范,EJB风行其道。后来有一个叫Rod Johnson的音乐学博士,写了本《Expert One on one J2EE without EJB》,发明了spring,创办了interface21公司,给Java的企业级开发带来了一阵春风。之后Spring势如破竹,跟随着互联网的兴起,占据着Java领域轻量级开发的王者地位。随着Java语言的发展,Spring也跟着推陈出新,比如Spring3支持了Java注解形式的配置,Spring4支持了java8,同时也推出了springboot。
初衷
推出springboot的初衷就是为了简化spring的配置,使得开发中集成新功能时更快,简化或减少相关的配置。
现状
目前springboot最新的是1.3.2-SNAPSHOT版本。主要有如下功能:
自动配置(
auto-configuration
)
一项简化配置的功能,比如在classpath中发现有spring security的jar包,则自动创建相关的bean等starters(
简化依赖
)
这个比较关键,方便spring去集成各类组件,比如redis、mongodb等等。core(
security、aop
)web(
web、websocket、ws、vaadin、rest、mobile
)template(
freemarker、velocity、groovy templates、thymeleaf
)data(
jdbc、jpa、mongodb、redis、gemfire、solr、elasticsearch
)database(
h2、hsqldb、mysql、postgresql
)social(
facebook、linkedin、twitter
)io(
batch、integration、jms、amqp
)ops(
actuator、remote shell
)
CLI(
command-line interface
),支持groovy开发Actuator(
对应用系统本身的自省功能
)
这个有点devops的味道,使得应用程序本身可以做到自省,比如查看系统运行了多少线程,gc的情况,运行的基本参数等等
展望
随着devops的兴起,以及docker技术的普及,微服务在一定场合会越来越受欢迎。即使不说微服务,springboot这种可以直接内嵌web服务器打成一个jar包的东东,也更符合devops的趋势:打成个jar包,往服务器上一扔,十分方便,外带自身带的actuator,把监控也给省了一大半,真正做到了可以把精力花在刀刃上。
参考文献:
定制自己的starter:http://www.jianshu.com/p/85460c1d835a
配置详解:http://blog.csdn.net/yingxiake/article/details/51260302
官方参考指南:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config
多数据源的配置:http://www.cnblogs.com/shenlanzhizun/p/5846475.html
SpringBoot前世今生的更多相关文章
- SpringBoot配置属性之Server
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性转载地址
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之其他
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之Migration
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之Security
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之MQ
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之NOSQL
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot配置属性之MVC
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- java 与大数据学习较好的网站
C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!https://www.cnblogs.com/doforfuture/p/6293926.html ...
随机推荐
- Java MD5机密算法的使用
MD5 是常用的加密算法,是不可逆的.既只能加密,但不能解密. package cn.com.ctsi.csdp.base.util; import java.security.MessageDige ...
- 5 HTML&JS等前端知识系列之jquery基础
preface jquery其实就是对javascript的再次封装,方便我们开发者调用,下载地址是:http://jquery.com/download/ ,下面就说说常用使用方法 选择器 基本选择 ...
- SVN 错误 Access to SVN Repository Forbidden的原因及解决方法
原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/SVN_Access_to_SVN_Repository_Forbidden.html 当我们新 ...
- Reset Identity Column Value in SQL Server (Identity Reset)
前言:今天在群里看到有人在问SQL Server自增值重置问题(sqlserver identiy column value reset ) 闲话少说,直接上代码: 正文: --create tabl ...
- ASCII码而已
题目: \u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01 ...
- Nodejs事件引擎libuv源码剖析之:句柄(handle)结构的设计剖析
声明:本文为原创博文,转载请注明出处. 句柄(handle)代表一种对持有资源的索引,句柄的叫法在window上较多,在unix/linux等系统上大多称之为描述符,为了抽象不同平台的差异,libuv ...
- Struts2 更改校验配置文件位置
@(Java)[Struts|Interceptor] Struts2 更改校验配置文件位置 在Struts2中提供的拦截器校验ValidationInterceptor,该校验器中默认的配置文件位于 ...
- c# c++ oc java || mac android ios
Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台) http://blog.csdn.net/fg5823820/article/details/ ...
- 防火墙iptables
iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙.NAT.咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习ip ...
- document.compatMode属性
document.compatMode用来判断当前浏览器采用的渲染方式. 官方解释: BackCompat:标准兼容模式关闭.CSS1Compat:标准兼容模式开启. 当document.compat ...