当前位置: 首页 > news >正文

滁州网站设计重庆平台网站建设工作

滁州网站设计,重庆平台网站建设工作,网站迁移,如何做增加网站留存的营销活动上文中#xff1a;https://blog.csdn.net/qq_26437925/article/details/145241149 大致了解了spring aop的代理的实现#xff0c;其实就是有个BeanPostProcessor代理了bean对象。 本文直接编写最简单的代码直观感受下 bean A: Service public class A {public A() {System.…上文中https://blog.csdn.net/qq_26437925/article/details/145241149 大致了解了spring aop的代理的实现其实就是有个BeanPostProcessor代理了bean对象。 本文直接编写最简单的代码直观感受下 bean A: Service public class A {public A() {System.out.println(A());}public void say(){System.out.println(say A);} }beanPostProcessor import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.stereotype.Service;import java.lang.reflect.Method;Service public class ABeanPostProcessor implements BeanPostProcessor {Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (beanName.equals(a)) {System.out.println(a BeanPostProcessor postProcessAfterInitialization);return getProxy(bean);}return bean;}public Object getProxy(Object targetObject) {Enhancer enhancer new Enhancer();Class? superClass targetObject.getClass();enhancer.setSuperclass(superClass);MethodInterceptor interceptor new MethodInterceptor() {Overridepublic Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {System.out.println(cglib before...);Object res methodProxy.invokeSuper(o, objects);return res;}};enhancer.setCallback(interceptor);Object targetProxy enhancer.create();return targetProxy;} } 基于cglib代理 dependencygroupIdcglib/groupIdartifactIdcglib/artifactIdversion3.3.0/version /dependencyconfig类不用EnableAspectJAutoProxy了 Configuration ComponentScan(com.aop.dependency) public class ConfigOne { }测试类 Test public void test() throws Exception {ApplicationContext ctx new AnnotationConfigApplicationContext(ConfigOne.class);A a (A) ctx.getBean(a);a.say();((AnnotationConfigApplicationContext) ctx).close(); } 测试输出 方法执行的代理输出正常 因为Cglib是用父类继承新增了一个完整的class字节码。所以可以看到A()构造函数执行了两次, 一次是spring bean生命周期的实例化一次则是Cglib创建出代理对象执行的。
http://www.hkea.cn/news/14344093/

相关文章:

  • 新年祝福语在线制作网站做门户网站cms
  • 宏信网络网站建设国家电网交流建设分公司网站
  • seo网站快速wordpress编辑远程图片
  • 网站建设任职图片网站建设
  • 阿里巴巴跟建设网站的区别保定网站设计多少钱
  • 怎么看网站文章的收录上海软件培训网站建设
  • 电子商务网站预算深圳网页设计兴田德润放心
  • 丰县建设局规划局网站零食网页制作素材
  • 什么是网站建设从哪些方面建设网站办公室设计布局
  • 新公司 做网站 流程人力资源网站建设
  • 深圳网站制作比较好公司毕业设计做网站要求
  • 宁波网站建设风格做网站需要买空间么 服务器
  • 浙江舟山建设厅网站惠阳营销网站制作
  • 移动网站 案例棋牌源码交易商城
  • 国外网站平台有哪些网站建设大作业选题
  • 网站用哪个做新网站备案查询
  • 图片分页网站模板品牌营销咨询公司
  • 漳州电脑网站建设消防公司宣传册设计样本
  • 做商城网站建设wordpress 即时通迅
  • 3g微网站是什么网站备案幕布申请
  • php网站开发预算文档wordpress局部刷新
  • 出色的网站遵义市汇川区建设厅网站
  • 山东网站备案 论坛深圳比较好的设计工作室
  • 网站开发怎么找客户行业网站的特点
  • 南昌高端网站建设深圳新闻最新消息今天
  • 做网站哪里便宜自己使用原生php做网站性能
  • 百度官方网站下载安装网站设计 seo
  • 做房地产资质是什么网站查店铺设计效果图店面
  • 外贸网站怎么做比较好自己的域名怎么做网站
  • 长垣有做网站设计的吗360安全导航网址