简介
对于初学Spring的我,大概知道Spring是个框架,但是又看到Spring Boot与Spring Framework、Spring Security、Spring Cloud。刚开始不知道他们属于什么,后来随着了解他们都是Spring框架的一些项目,也是一些框架。
Spring Framework的产生是必然的,EJB是面向过程的编程,EJB框架的高度耦合越来越不满足项目开发的需要。所以面向对象的JOPO出现了,人们喜欢化繁为简,而Spring Framework便是针对这样的编程模式产生的开发框架。
Spring Framework模块
Spring是模块化的,你可以仅仅使用你所需要的模块,每个都是最小单元,至少对应一个jar包。
核心容器(Core Container)
Spring-Core:核心工具类,依赖注入IoC与DI的最基本实现;
Spring-Beans:Bean工厂与Bean的装配;
Spring-context:Spring的context上下文即IoC;
Spring-expression:表达式语言。
完整的依赖关系:
AOP
Spring-aop:面向切面编程;
Spring-aspects:集成AspectJ;
Spring-instrument:提供一些类别的工具支持和classloader级的实现,用于服务器;
Spring-instrument-tomcat:针对Tomcat和instrument实现。
Data Access
Spring-JDBC:数据库连接;
Spring-TX:提供编程时和声明式的事务支持;
Spring-ORM:对象关系映射,集成ORM框架;
Spring-OXM:对象xml的映射;
Spring-JMS:Java消息服务。
消息
Spring-messaging:对消息架构和协议的支持。
Web
Spring-Web:提供Web集成的功能,在Web项目中提供Spring容器;
Spring-webmvc:包含SpringMVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、 Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。
Spring-webmvc portlet:Spring MVC的增强
Spring-websocket:提供 Socket通信, web端的推送功能
spring framework模块讲解及关系依赖
参考优秀文章
Spring Framework 5 中的新特性