Spring自解
1、Spring是什么?
Spring是一个IOC(控制反转)和AOP(面向切面)的容器框架,它可以简化企业级应用程序的开发。
2、Spring可以做什么?
①Spring可以根据配置文件创建并组装对象之间的依赖关系。
②Spring的AOP面向切面编程可以无耦合的实现日志、性能统计和安全控制等。
③Spring可以进行数据库事物管理。
④Spring可以方便的集成第三方数据库访问框架、web框架以及其他的技术支持(如缓存框架)。同时Spring拥有自己的JDBC模板,web框架(Spring MVC)。
3、Spring的优点
①轻量级框架
②低入侵,代码污染低
③低耦合,IOC控制反转方便解耦,简化开发
④面向切面编程思想,将业务逻辑和系统服务分开。
⑤方便集成其他优秀框架,当然自己的SpringMVC框架也很优秀。
⑥容器,Spring包含并管理应用中对象的创建,配置以及生命周期。
4、Spring的体系结构

从下往上看
①Test 支持 Spring 组件,使用 JUnit 或 TestNG 框架的测试。
②core container 核心容器层 有spring的最基础模块
| Beans 模块 | 提供了 BeanFactory,是工厂模式的经典实现,Spring 将管理对象称为 Bean。 |
|
Core 核心模块 |
提供了 Spring 框架的基本组成部分,包括 IoC 和 DI 功能。 |
| context 模块 | 建立在核心和 Beans 模块的基础之上,它是访问定义和配置任何对象的媒介。ApplicationContext 接口是上下文模块的焦点。 |
| sqEL 模块 | 是运行时查询和操作对象图的强大的表达式语言。 |
③其他模块
| AOP 模块 | Spring的 AOP 封装包提供了符合AOP Alliance规范的面向切面的编程实现,可以自定义,例如方法拦截器和切点减弱代码的功能耦合。 |
| Aspect 模块 | 提供了与AspectJ的集成,这是一个功能强大并且成熟的面向切面编程的框架。 |
| Instrmentation 模块 | 在一定的应用程序中提供了类instrumentation的支持和类加载器的实现。 |
| Messaging 模块 | 为Stomp提供了作为应用程序中webSocket自协议的使用,他支持一个注解编程模型,他是为了选路和处理来自webSocket客户端的Stomp信息。 |
④web层
| Web 模块 | 提供了基本的面向web的集成思想,例如多个文件上传的功能和使用servlet监听器和面向web应用程序的上下文初始哈市IOC容器。 |
| Servlet 模块 | 包含spring的模块视图-控制器-(MVC)实现了web应用程序。 |
| Web Socket 模块 | 为WebSocket-based提供了支持,而且在web应用程序中提供了客户端和服务端之间通信的两种方式。 |
| Porlet 模块 | 提供了portlet环境中实现mvc,并且反映了web_socket模块的功能。 |
⑤数据访问/集成层
| JDBC 模块 | 提供了删除冗余的JDBC相关编码的JDBC抽象层。 |
| ORM 模块 | ORM模块为流行的对象关系映射API,包含JPA,JDO,Hibernate和IBatis,提供了集成层。 |
| OXM 模块 | 提供了抽象层,它支持对JAXB,Castor,XMlBeans,JiBx和XStream的对象/xml映射实现。Java消息服务JMS模块包含生产和消费的信息的功能。 |
| Transactions 事务模块 | 事务模块为实现特殊接口的类及所有的POJO支持编程式和声明式事务管理。 |
浙公网安备 33010602011771号