一、 AOP专题。aop即面向切面编程,它将一些通用功能比如日志功能、权限认证、事务处理引入到一些业务逻辑中去
实现aop的技术,主要分两类:一种是采用动态代理技术,利用截取消息(advisor或拦截器实现)的方式,对该消息进行装饰,以取代原有对象行为的执行;
二是采用静态织入方式,引入特定的语法创建“方面”。
二、AOP相关概念
1.连接点:程序执行过程中明确的点,如方法的调用或异常的抛出
2.通知(advice):在特定的连接点,AOP框架执行的动作
3.切入点(Pointcut):指定一个通知被引发的一系列的连接点的集合
4.目标对象:包含连接点的对象,也被称作被通知或被代理对象。POJO
5.AOP代理:AOP框架创建的对象,包含通知
三、增强处理(advice)类型:after,before,around(近似等于before,after的总和,它既可以在执行目标方法前织入增强动作,也可以在其后织入动作,与前两种不同的是它可以决定目标方法何时执行,如何执行,甚至可以阻止其执行)
四、代理对象的生成
有两种方式来生成代理对象:JDKProxy和Cglib。默认的策略是如果目标类是接口,则使用JDK动态代理技术,否则使用Cglib来生成代理。
IOC
Spring 到底是怎么依赖注入的吧,其实依赖注入的思想也很简单,它是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。
五、Java EE应用的传统事务有两种策略:全局事务和局部事务,前者由应用服务器管理;后者和底层采用的持久化技术有关,当采用JDBC持久化技术时,使用Connection对象操作事务,当采用Hibernate持久化技术时,使用Session对象操作事务
Spring的事务策略通过PlatformTransactionManager接口体现,它提供两种事务管理方式:编程式事务管理,声明式事务管理