本次更新的spring boot 1.5.4版本系列,结合了官网、博客、视频等资源,整合之后呈现给大家。
1 Spring发展历史
1.1 spring历史演化历程
① spring 1.0的出现彻底改变了我们开发企业级java应用程序的方式。spring的依赖注入与声明式事务意味着组件之间再也不存在紧耦合,再也不用重量级的EJB了。
② spring 2.0,我们可以在配置里使用自定义的XML命名空间,更小、更简单易懂的配置文件让spring本身更便于使用
③ spring 2.5,让我们有了更优雅的面向注解的依赖注入模型(即@Component和@Autowired注解),以及面向注解的Spring MVC编程模型,不用再去显式地声明应用程序组件了,也不再需要去集成某个基础的控制器类了。
④ spring 3.0,有了一套基于java的全新配置,它能够取代XML。在spring 3.1里,一系列以@Enable开头的注解进一步完善了这一特性。可以写出一个没有任何XML配置的Spring应用程序。
⑤ spring 4.0,对条件化配置提供支持,根据应用程序的Classpath、环境和其他因素,运行时决定使用哪些配置,忽略哪些配置。那些决策不需要在构建时通过编写脚本确定了,以前会把选好的配置放在部署的包里,现在不用了。
1.2 用Spring开发Web应用程序
在未使用Spring Boot之前,用Spring开发一个Web应用程序的基本准备工作:
① 一个项目结构,其中有个包含必要依赖的Maven构建,起码要有Spring MVC和Servlet API这些依赖;
② 一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet;
③ 一个启用了Spring MVC的配置;
④ 一个控制器类,以“hello world”响应的http请求;
⑤ 一个用户部署应用程序的Web应用服务器,比如Tomcat。
让人难以接受的是,这份清单里只有一个东西是和Hello World功能相关的,即控制器,剩下的都是Spring开发的Web应用程序必需的通用样板。既然所有Spring Web应用程序都要用到它们,那为什么还要你来提供这些东西呢?
2 Spring Boot入门
2.1 Spring Boot概要
Spring Boot四个重要核心:
-
自动配置:针对很多Sping应用程序常见的应用功能,Spring Boot能自动提供相关配置;
-
起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库;
-
命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建(实际开发中,可用性小);
-
Actuator:让你能够深入运行中的SpringBoot应用程序的开发,一探究竟。
Spring Boot的后一块“拼图”是Actuator,其他几个部分旨在简化Spring开发,而Actuator 则要提供在运行时检视应用程序内
部情况的能力。安装了Actuator就能窥探应用程序的内部情况了,包括如下细节:
① Spring应用程序上下文里配置的Bean
②Spring Boot的自动配置做的决策
③应用程序取到的环境变量、系统属性、配置属性和命令行参数
④应用程序里线程的当前状态
⑤应用程序近处理过的HTTP请求的追踪情况
⑥各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标
Actuator通过Web端点和shell界面向外界提供信息。如果要借助shell界面,你可以打开SSH
(Secure Shell),登入运行中的应用程序,发送指令查看它的情况。
Spring Boot优点:
1. 创建独立的Spring应用程序,为所有Spring开发者更快的入门
2. 内嵌式容器简化Web项目
3. 开箱即用,提供各种默认配置来简化项目(Maven)配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 没有冗余代码生成和XML配置的要求
本文转自 wyait 51CTO博客,原文链接:http://blog.51cto.com/wyait/1966259,如需转载请自行联系原作者