Aop 几种应用实例
来源:互联网 发布:ipad淘宝微淘在哪查看 编辑:程序博客网 时间:2024/06/04 18:03
实例一 ProxyFactoryBean
<bean id="usermanager" class="com.book.service.UserManager" />
<bean id="beforeadvice" class="com.common.bean.Before"></bean>
<bean id="beforeadvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref local="beforeadvice"/>
</property>
<property name="pattern">
<value>com/.book/.service/.UserManager/.findUser</value>
</property>
</bean>
//另一个事务拦截
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<!-- 下面定义事务传播属性 -->
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
调用1
<bean id="logic2Proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyTargetClass"><value>true</value></property>
<property name="target"><ref bean="usermanager"/></property>
<property name="interceptorNames">
<list>
<value>beforeadvisor</value>
</list>
</property>
</bean>
调用二
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的Bean-->
<list>
<value>userManager</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的Bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<value>beforeadvisor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
注:调用一 和 调用二不可同时存在
实例二 aspectj
package com.common.bean;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class UserInterceptor {
@Before ("execution(* com.book.service.UserManager.*(..))")
public void userinter(){
System.out.println("拦截器运作开始!");
}
}
调用三
<aop:aspectj-autoproxy />
<bean id="userInterceptor" class="com.common.bean.UserInterceptor"/>
注意:对于同一个类例如UserManager 调用一,调用二,调用三 不可同时应用。
- Aop 几种应用实例
- 实现Spring AOP 应用的几种方式
- 关于AOP的应用实例
- 关于AOP的应用实例
- Spring的AOP应用实例
- Spring的AOP应用实例
- spring实例应用(AOP)
- AOP MVC中应用实例
- Spring AOP应用实例demo
- 几种AOP编程
- AOP应用实例--Spring事务处理及其AOP框架的内幕
- Aop简单应用实例,注解模式
- aop的几种用法
- AOP系列:.NET中AOP的几种实现方案
- aop实例
- Spring Aop重要概念介绍及应用实例结合分析
- JavaEE Spring框架学习笔记(AOP基本应用实例)
- spring AOP配置的几种方法
- 【转】C++指向类成员的指针的使用(详细介绍)
- 【转】C++指向类成员的指针的使用(详细介绍)
- B/S
- 牛角尖
- 静态内部类
- Aop 几种应用实例
- vs2010中臃肿的ipch和sdf文件【转载】
- 很详细的Log4j配置步骤
- 快捷键
- 身份证号码相关知识
- 转:宇文泰苏卓对答录
- sql数据库连接
- oracle database link使用
- php复制文件夹以及文件夹里的所有文件