加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

spring开发_AOP_代理模式

发布时间:2020-12-15 01:52:29 所属栏目:大数据 来源:网络整理
导读:> 代理对象 -------------->> 目标对象 com.b510.service; PersonService { save(String name); String getPersonName(Integer personid); update(String name,Integer personid); } com.b510.service.impl; java.lang.reflect.InvocationHandler; java.lang

> 代理对象 -------------->> 目标对象

com.b510.service; PersonService { save(String name); String getPersonName(Integer personid); update(String name,Integer personid); }

com.b510.service.impl; java.lang.reflect.InvocationHandler; java.lang.reflect.Method; java.lang.reflect.Proxy; JDKProxyFactory InvocationHandler { Object targetObject; Object createProxyInstance(Object targetObject) { .targetObject = targetObject; Proxy.newProxyInstance(.targetObject.getClass() .getClassLoader(), .targetObject.getClass().getInterfaces(),); } @Override Object invoke(Object arg0,Method method,Object[] arg) Throwable { PersonServiceBean bean = (PersonServiceBean) .targetObject; Object result = ; (bean.getUser() != ) { result = method.invoke(targetObject,arg); } result; } }

com.b510.service.impl; com.b510.service.PersonService; PersonServiceBean PersonService { String user = ; PersonServiceBean() { } PersonServiceBean(String user) { .user = user; } String getUser() { .user; } @Override String getPersonName(Integer personid) { System.out.println("this is the getPersonName() function"); "hongten"; } @Override save(String name) { System.out.println("this is the save() function"); } @Override update(String name,Integer personid) { System.out.println("this is the update() function"); } }

com.b510.test; com.b510.service.PersonService; com.b510.service.impl.JDKProxyFactory; com.b510.service.impl.PersonServiceBean; AOPTest { main(String[] args) { JDKProxyFactory factory = JDKProxyFactory(); PersonService service = (PersonService) factory .createProxyInstance( PersonServiceBean("hello")); service.save("hongten"); service.getPersonName(1); service.update("hello",2); System.out.println("*************************"); PersonService service1 = (PersonService) factory .createProxyInstance( PersonServiceBean()); service1.save("hongten"); service1.getPersonName(1); service1.update("hello",2); System.out.println("end"); } }

is the save() function is the getPersonName() function is the update() function ************************* end

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读