1.Spring 框架概述总结
Spring 框架是一个优秀的Java 企业级框架.使用Spring 框架,开发者只需要专注于编写应用的业务逻辑,提高开发效率.
Spring 的核心是提供了依赖注入机制的控制翻转容器IOC.
Spring 框架中的各个模块组
Spring模块之间的依赖关系
核心容器所包含的模块是Spring 框架的 中心,其他模块都依赖它.Spring IOC 容器
一个Java 应用程序由相互调用以提供应用程序一组对象组成.某个对象调用其他对象称为它的依赖项.
例如 : A 对象调用了 B 和C 对象, 那么 B 和 C 就是A的依赖项.
DI 依赖注入, 是一种设计模式. 对象的依赖项 被指定为其的构造函数和setter方法的参数.这些依赖项在对象创建时被注入其中。
Spring IOC 容器负责创建 应用程序对象并注入它们的依赖项。Spring 创建和管理的对象称为bean。
如何理解控制反转:可以这样理解,创建和注入依赖项的不是应用程序的对象,而是Spring容器,所以DI也称为控制反转.
Spring容器读取应用程序的元数据并创建一个完整应用程序元数据: Spring 容器元数据可以通过XML、Java 注解 以及Java 代码来指定。
下面这段说的太好了:
由于Spring容器负责创建和管理应用程序对象,企业服务(如事务管理,安全性,远程访问等)可以通过Spring容器透明的应用到对象上。Spring这种增强应用程序对象附加功能的能力让我们可以使用简单的Java对象(也称为POJO对象)作为应用的对象。对应于POJO的Java类称为POJO类,也就是不实现和继承特定于框架的接口或类的Java对象.需要这些POJO的企业服务,如事务管理,安全,远程访问等由Spring透明的提供.
使用Spring框架的好处:
1.管理本地和全局事务的一致方法
本地事务 和全局事务
本地事务:如使用JDBC 连接对象相关的事务 只适用于只涉及单个数据库的的应用场景
当涉及多个事务源,使用JTA 来管理事务.例如要在同一个事务中将JMS消息发送到消息中间件 并更新数据库. 使用JTA ,需要先从JNDI 中获取UserTransaction对象(这是JTA API的一部分)
2.声明式事务管理
在一个方法上加上Spring的 @Transaction 注解并让Spring来处理事务.
3.安全
Spring Security 是一个置于Spring框架顶层的项目,它提供了身份验证和授权功能,可以用来保护Java
应用程序.
4.Java扩展管理
Spring对 Java 管理扩展 (JMX) 的支持可以让你非常简单地将JMX 技术融合到应用程序中.
5.Java消息管理
Spring的Java 消息服务(JMS)支持简化了与JMS提供者之间的消息发送和接收.
6.缓存.
Spring 的缓存抽象提供了在应用程序中使用缓存一致的方法.