l Before——在方法调用之前调用通知。
l After——在方法完成之后调用通知,无论方法执行是否成功。
l After-returning—— 在生方法成功执行之后调用通知。
l After-throwing——在方法抛出异常后调用通知。
l Around——通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。
l 编译期——切面在目标类编译时被织入。
l 类加载期——切面在目标类加载到JVM时被织入,这种方式需要特殊的类加载器,可以在目标类被引入应用之前增强该目标类的字节码
l 运行期——切面在应用运行的某个时刻被织入,一般情况下,在织入切面时,AOP容器会为目标对象动态地创建一个代表对象。
l 基于代理的经典AOP。
l @AspectJ注解驱动切面。
l 纯POJO切面
l 注入式AspectJ切面(适合Spring各版本)。
l 通过JDBC驱动程序定义数据源。
l 通过JNDI查找数据源。
l 连接池的数据源。
l JdbcTemplate:最基本的Spring JDBC模板,这个模板支持最装简单的JDBC数据库访问功能及简单的索引参数查询。
l NamedParameterJdbcTemplate:使用该模板执行查询时,可以将查询值以命名参数的形式绑定到SQL中,而不是使用简单的索引参数。
l SimpleJdbcTemplate:该模板类利用Java5的一些特性,如自动装箱、泛型及可变参数来简化JDBC模板的使用。
Spring提供了两种JDBC数据源对象。
DriverManagerDataSource :在每个连接请求时都会返回一个新建的连接。没有进数据池化管理。
SingleConnectionDataSource:在每个连接请求时都会返回同一个连接。
l Spring声明式事物的集成支持。
l 透明的异常处理
l 线程安全的、轻量级的模板类。
l DAO支持类。
l 资源管理。
l 应用程序管理类型:当应用程序向实体管理器工厂直接请求实体管理器时,工厂会创建一个实体管理器,在这种模式下,程序要负责打开或关闭实体管理器并在事物中对其进行控制。这种方式的实体管理器适用于不运行在JavaEE容器中的独立应用程序。
l 容器管理类型:实体管理器由JavaEE创建和管理。应用程序不与实体管理器工厂打交道,实体管理器直接通过注入或者JNDI来获取。容器负责配置实体管理器工厂。这种类型的实体管理器最适合应用于JavaEE容器。
l 原子性:一个交易(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
l 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的默认规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。
l 隔离性:当两个或者多个事务并发访问(此处访问指查询和修改的操作)数据库的同一数据时所表现出的相互关系。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(readcommitted)、可重复读(repeatable read)和串行化(Serializable)。
l 持久性:在事务完成以后,该事务对数据库所作的更改便持久地保存在数据库之中,并且是完全的。
Spring提供了编码式事务管理和声明式事务管理。
原文地址:http://blog.csdn.net/derrantcm/article/details/46616821