快速业务通道

Spring的无接口代理实现AOP - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

Spring的无接口代理实现AOP

时间:2010-12-03

package com.rx.spring.cglib; public class UserManagerImpl { // implements UserManager {   public void addUser(String username, String password) {     System.out.println("-------UserManagerImpl.addUser()----------");   }   public void deleteUser(int id) {     System.out.println("-------UserManagerImpl.deleteUser()----------");   } } package com.rx.spring.cglib; import org.aspectj.lang.JoinPoint; public class SecurityHandler {   private void checkSecurity(JoinPoint joinPoint) {     Object[] args = joinPoint.getArgs();     for (int i=0; i<args.length; i++) {       System.out.println(args[i]);     }     System.out.println(joinPoint.getSignature().getName());     System.out.println("----------checkSecurity()---------------");   } } package com.rx.spring.cglib; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Client {   public static void main(String[] args) {     BeanFactory factory = new ClassPathXmlApplicationContext("applicationContextCglib.xml");     UserManagerImpl userManager = (UserManagerImpl)factory.getBean("userManager");     userManager.addUser("abc", "123");     System.out.println("testing");     userManager.deleteUser(1);   } } <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:aop="http://www.springframework.org/schema/aop"      xmlns:tx="http://www.springframework.org/schema/tx"      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">   <!--   <aop:aspectj-autoproxy proxy-target-class="true"/>    -->   <bean id="securityHandler" class="com.rx.spring.cglib.SecurityHandler"/>   <bean id="userManager" class="com.rx.spring.cglib.UserManagerImpl"/>   <aop:config>     <aop:aspect id="security" ref="securityHandler">       <aop:pointcut id="allAddMethod" expression="execution(* com.rx.spring.cglib.UserManagerImpl.add*(..))"/>       <aop:before method="checkSecurity" pointcut-ref="allAddMethod"/>     </aop:aspect>   </aop:config> </beans>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号