1、历史
第一阶段:xml配置
在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分布放到不同配置文件中,需要频繁的在开发的类和配置文件之间切换。
第二阶段:注解配置
在Spring2.x时代,JDK1.5带来的注解支持,Spring提供了声明Bean的注解(如@Component、@Service),大大减少了配置量。这个时候,注解配置和xml配置究竟哪个更好成为了一个争论。最终的选择是应用的基本配置如数据库配置用xml,业务配置用注解。
第三阶段:Java配置
从Spring3.x到现在,Spring提供了Java配置的能力。
2、概述
Spring框架是一个轻量级的企业级开发的一站式解决方案。可以给予Spring解决Java EE开发的所有问题。Spring框架主要提供了IOC容器、AOP、数据访问、Web开发、消息、测试等相关技术支持。
3、Spring的模块
(1)核心容器(Core Container)
Spring-Core:核心工具类
Spring-Beans:Bean支持
Spring-Context:运行时Spring容器
Spring-Context-Support:Spring容器对第三方包的集成支持
Spring-Expression:使用表达式语言在运行时查询和操作对象
(2)AOP
Spring-AOP:基于代理的AOP支持
Spring-ASpects:基于AspectJ的AOP支持
(3) 消息Messaging
Spring-Messaging
(4)Web
Spring-Web
Spring-Webmvc
Spring-WebSocket
Spring-Webmvc-Portlet
(5)数据访问/集成
Spring-JDBC:jdbc访问数据库的支持
SPring-TX:提供编程式和声明式的事物支持
Spring-ORM:对象/关系映射的支持
Spring-OXM:对象/xml映射的支持
Spring-JMS:对JMS的支持
4、Spring的生态
Spring目前提供了大量基于Spring的项目,降低开发成本和难度、提高开发效率。
Spring Boot
SpringXD:简化大数据应用开发
Spring Cloud 分布式系统开发工具集
Spring Data 主流关系型和NoSQL数据库的支持
... ...
... ...