Spring 体系介绍
参考/摘录书籍:Spring+Spring MVC+MyBatis整合开发 著○陈学明
参考图片:来自网络
说明:本人相关博客仅供学习参考!
Spring概念
Spring是为了解决企业应用开发的复杂性而诞生。
Spring是为企业应用的开发提供了一个轻量级的解决方案。该方案包括: 基于依赖注入(DI) 的核心机制、基于 面向切面编程(AOP) 的声明式事务管理、与多种持久层技术的整合、优秀的Web MVC的 容器框架
,极大地降低了企业应用系统开发的耦合性,提高了灵活性。
一、Spring框架体系结构
1.1 核心容器
容器是Spring框架的基础,负责Bean的创建、拼接、管理和获取工作。
Beans和Core模块实现了IOC/DI等核心功能,BeanFactory是容器的和心接口。
Context模块在核心模块之上进行了功能的扩展,添加了国际化、框架事件体系、Bean生命周期管理和资源加载透明化等功能。此外还提供了包括邮件服务、JNDI访问、任务调度和EJB集成等企业级服务。
SpEL表达式语言模块,用于查询和管理容器管理对象、获取和设置对象属性、调用对象方法、操作数据等。
1.2 面向切面编程
AspectJ是一个面向切面编程的框架,Spring Aspects模块提供了对他的集成。
1.3 数据访问/集成
JDBC模块实现了对JDBC的抽象,简化了JDBC进行数据库连接和操作的编码;
1.4 Web与远程调用
Servlet模块包含了一个强大的MVC框架,用于Web应用实现视图层与逻辑层的分离。
Web模块提供了面向Web的基本功能和Web应用的上下文,例如使用Servlet监听器的IoC容器初始化、文件上传等功能。
WebSocket模块支持在Web应用中客户端与服务器端基于WebSocket双向通信。
1.5 Instrumentation(检测)
Instrumentation模块提供了在应用服务器中使用类工具的支持和类加载器实现。
1.6 消息
Messaging模块用于消息处理,也包含了一些列用于映射消息的注解。
1.7 测试
Test模块通过JUnit和TestNG框架支持的单元测试和继承测试,提供了一系列的模拟对象辅助单元测试。
二、Spring生态圈
项目名 | 应用场景 |
---|---|
Spring Boot | 使用默认Java配置来实现快速开发 |
Spring Data | 对主流的关系型数据库和NoSQL数据库提供支持 |
Spring Security | 通过认证和授权保护应用 |
- Spring Framework(Core):Spring项目的核心。包含了一些列的IoC容器设计,提供了依赖反转模式的实现。