Spring的AOP传统开发方法带切点的切面
来源:互联网 发布:js设置checkbox不可用 编辑:程序博客网 时间:2024/06/07 00:48
AOP传统开发方法
带切点的切面
CustomerDao:
package cn.nedu.wy.demo03;public interface CustomerDao {public void add();public void update();public void delete();public void find();}
CustomerDaoImpl:
package cn.nedu.wy.demo03;public class CustomerDaoImpl implements CustomerDao {public void add() {// TODO Auto-generated method stubSystem.out.println("添加用户......");}public void update() {// TODO Auto-generated method stubSystem.out.println("修改用户......");}public void delete() {// TODO Auto-generated method stubSystem.out.println("删除用户......");}public void find() {// TODO Auto-generated method stubSystem.out.println("查询用户......");}}
环绕增强MyAroundAdvice:
package cn.nedu.wy.demo03;import java.lang.reflect.Method;import org.aopalliance.intercept.MethodInterceptor;import org.aopalliance.intercept.MethodInvocation;import org.springframework.cglib.proxy.MethodProxy;public class MyAroundAdvice implements MethodInterceptor {@Overridepublic Object invoke(MethodInvocation arg0) throws Throwable {// TODO Auto-generated method stubSystem.out.println("环绕前增强......");Object result = arg0.proceed();System.out.println("环绕后增强......");return result;}}
配置文件:
<bean id="customerDao" class="cn.nedu.wy.demo03.CustomerDaoImpl"></bean><!-- 定义增强 --><bean id="aroundAdvice" class="cn.nedu.wy.demo03.MyAroundAdvice"></bean><!-- 定义切点切面: --><bean id="myPointcutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"><!-- 定义表达式,规定哪些方法执行拦截,拦截add和find --><property name="patterns" value=".*add.*,.*find.*"></property><!-- 应用增强 --><property name="advice" ref="aroundAdvice"/></bean><!-- 定义生成代理对象 --><bean id="customerDaoProxy" class="org.springframework.aop.framework.ProxyFactoryBean"><!-- 配置目标 --><property name="target" ref="customerDao"></property><!-- 针对类的代理 --><property name="proxyTargetClass" value="true"></property><!-- 在目标上应用增强 --><property name="interceptorNames" value="myPointcutAdvisor"></property></bean>
阅读全文
0 0
- Spring的AOP传统开发方法带切点的切面
- Spring的传统AOP开发方法不带切点的切面
- Spring AOP编程(两种:1,传统的AOP切面编程 2,基于aspectj框架切点传统开发)
- Spring AOP开发简单实例(不带切点的切面)
- Spring学习-19:Spring的AOP:带有切点的切面
- spring AOP切面开发 基于aspectJ框架切点的注解开发
- Spring-AOP 复合切点切面
- spring AOP切面开发 基于aspectJ框架切点开发
- Spring AOP切面对Controller中的方法切点不起作用
- Spring学习-18:Spring的AOP:不带有切点的切面
- spring切面切点@Aspect的使用
- aop-自定义切点的方法
- Spring AOP 之 实现切点、切面
- Spring的切面 AOP
- Spring-AOP 切点/切面类型和创建切面
- AOP切点的合并
- Spring的面向切面AOP
- Spring的AOP切面编程
- jquery flexdatalist输入 动态信息匹配
- [NOI2005] 聪聪与可可
- 集群基础-----(corosyns心跳机制)
- Win10一周年更新冻屏可能原因解决方案
- 找10个数里面最大数字
- Spring的AOP传统开发方法带切点的切面
- php和lnmp环境下的论坛部署
- 测试小故事39:怎么测?
- c#菜单与treeview初始化
- 接口和内部类
- Collection 关于List和Set 技巧
- AutoScaling技术相关要点
- SQL Assistant简介
- 用c语言链接MySQL数据库出现Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'