本文主要用于讲解Spring相关的基础知识,主要一下几部分Spring的基础概念,Spring的版本介绍和Spring中各个模块详细介绍。
概述思维导图
1.Spring的基础概念
1)什么是Spring
关键词:开源框架,轻量级,java开发框架,IOC(控制反转),AOP(面向切面)
概念:Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架,其核心技术是控制反转(IOC)和面向切面编程(AOP)。
2)Spring框架的特点
关键词:方便解耦,简化开发,AOP编程支持,声明式事务的支持,方便程序的测试,方便集成各种优秀框架,降低Java EE API的使用难度。
2.Spring版本介绍
随着用户需求,JVM变化和硬件设备的提升,Spring也推出了不同版本的架构,当前最高版本式Spring 5.X。
1)Spring 1.x
Spring 1.x已经是一个完整的项目,已经支持Spring理论支持的功能。架构的核心功能Ioc和AOP已经非常完善,同时为了支持其它功能,加入了如JDBC,Mail,ORM,事务,计划任务,Spring MVC等功能支持。并且Spring 1.x就已经支持很多第三方框架。但是配置方式只支持xml配置。
2)Spring 2.x
Spring 2.x主要增加了注解相关的配置。
3)Spring 3.x
Spring 3.x增加了对Java类的配置方式。
4)Spring 4.x
Spring 4.x的改动比较大,改动的方面主要包括以下几个方面,Spring 4.x全面支持Java 8.0,也就意味着支持Lambda表达式,支持Optiona,支持重复注解l。注入方式增加了泛型,Map,List,Condition,Lazy等,同时对CGLib动态代理进行了增强。支持Groovy DSL配置。Spring MVC对Servlet 3.0进行支持。
5)Spring 5.x
Spring 5.x只能运行在Spring 8.0之上。
3.Spring各模块介绍
1)Spring框架图
2)Spring框架jar包图
3)Spring架构中主要包括五个模块,分别是核心模块,AOP模块,数据访问模块,测试模块和web模块。
核心模块:核心模块包括控制反转相关的功能组件,jar包有Core,Spring,Spring Context,Spring context support,Spring expression。
AOP模块:面向切面相关的配置。jar包有Spring aop,Spring Aspects。
数据访问模块:涉及框架对数据相关的操作行为的支持,包括数据库管理,事务管理,对象关系映射,对象XML映射。jar包有Spring jdbc,Spring tx,Spring ORM, Spring OXM,Spring JMS。
web模块:基于web应用提供的上下文信息。jar包Spring web,Spring webmvc,Spring websocket,Spring webmvc portlet。
测试模块:提供测试功能。
参考:
《JavaEE开发的颠覆者Spring Boot实战》
http://www.cnblogs.com/ysocean/p/7466191.html
https://blog.csdn.net/bntX2jSQfEHy7/article/details/78918119
https://www.cnblogs.com/ysocean/p/7466191.html#_label3