什么是spring
spring是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架。是于2003年兴起的一个轻量级的java开发框架,由Rod Johnson在其著作的Expert One-on-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性,可测试性和松耦性的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IOC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。
Spring的发展
Spring框架几乎涉及到Java企业级服务开发的所有方面,也几乎针对所有开发常用的模式,中间件,数据库进行整合适配。
Spring框架经历乐几个阶段:
- 第一个阶段推出了Spring Core,Spring Security Spring Data是把单体应用开发服务好。不仅仅提供了便捷的数据库访问,Web
MVC等必要的功能,而且通过AOP,IOC两大利器让我我们的程序内能够做到低耦合可扩展。 - 第二阶段推出Spring Boot,集合了很多懒人整合包,将以前开发要做很多配置的流程进行了优化,比如SSM。提高了开发的效率。同时SpringBoot内嵌了服务器,使得部署更加方便。
- 第三阶段推出了Spring Cloud的意义在推动了微服务架构的落地。让不具备开发微服务基础套件的小型互联网公司也能享受到免费的开箱即用的微服务解决方案。其实很多人不是看了微服务的架构思想去寻找解决方案,而是了解到了Spring Cloud才去了解微服务思想从而落地。
- 目前是在第四个阶段,大力发展Spring Cloud Dataflow+容器。Dataflow的思想是不管是做实时消息处理的服务还是临时运行的任务,都可以认为是服务的组件,如果可以有一套DSL来定义这些组件之间的交互方式,然后在容器中进行自由组合,部署,伸缩,那么架构会非常的灵活。