一、spring基础
简史、第一阶段xml配置:spring1.x时代使用spring开发全都是xml配置的bean,随着项目的扩大,我们需要把xml配置文件分别放到不同的配置文件里面,那时候需要频繁的在开发的类和配置文件之间切换。
第二阶段注解配置:在spring2.x时代随着jdk1.5带来的注解支持,spring提供了声明bean的注解(如@Component,@Service),大大减少了配置量,这时spring圈里存在着一种争论:注解配置和xml配置究竟哪个更好?我们最终选择是应用的基本配置(如数据库配置)用xml,业务配置用注解。
第三阶段Java配置:从spring3.x到现在,spring提供了Java配置的能力,使用Java配置可以让你更加的理解你的bean。我们目前正好处于这个时代,spring和springboot都推荐使用Java配置
二、spring概述
spring框架是一个轻量级的企业及开发的一站式解决方案。所谓的解决方案就是基于spring解决JavaEE开发的所有问题。spring框架主要提供IOC容器、AOP、数据访问、web开发、消息、测试等相关的技术支持。
spring使用简单的pojo(plain old Java object,即无任何限制的普通java对象)来进行企业级开发。每一个被spring管理的Java对象都称之为bean;而springspring提供了一个IOC容器来初始化对象,解决对象见得依赖管理和对象的使用。
三、spring模块
模块解析:
(1)核心容器:(core container)
spring-core:核心工具类;
spring-beans:spring定义的bean支持;
spring-context:运行时spring容器;
spring-context-support:spring容器对第三方包的集成支持;
spring-expression:用表达式语言在运行时查询和操作对象;
(2)AOP
spring-aop :基于代理的aop支持
spring-aspects :基于aspectj的aop支持;
(3)消息
spring-message:对消息的架构和协议的支持;
(4)web
spring-web:提供基础的web的集成功能,在web项目中提供spring的容器
spring-webmvc :提供基于servlet的springmvc
spring-websocket:提供websocket功能
spring-webmvc-porlet:提供porlet环境支持;
(5)数据访问/集成
spring-jdbc:提供jdbc访问数据的支持;
spring-TX:提供编程式和声明式的 事务支持;
spring-orm:提供对象/关系映射技术的支持;
spring-oxm:提供对象/xml映射技术的支持;
spring-jms:提供对jms的支持;