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

哪里建个人网站好推荐黄石网站建设

哪里建个人网站好,推荐黄石网站建设,网站专题页怎么做,没有网站可以做百度推广吗AOP对象是如何创建的 对于熟悉Spring IOC流程源码的同学来说#xff0c;一定了解bean的整个生命周期#xff0c;也就是从实例化、属性填充、初始化三个过程。那么对于Bean 工厂来说#xff0c;是如何保证需要创建代理的对象创建代理的呢。 从图中可以看到#xff0c;本质…AOP对象是如何创建的 对于熟悉Spring IOC流程源码的同学来说一定了解bean的整个生命周期也就是从实例化、属性填充、初始化三个过程。那么对于Bean 工厂来说是如何保证需要创建代理的对象创建代理的呢。 从图中可以看到本质是通过注解 EnableAspectJAutoProxy, 通过引入 Import(AspectJAutoProxyRegistrar.class) 顶层其实就是一个BPP 核心调用流程图就在这里这里可以通过debug的方式查找。 Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Import(MyAopAspectJPostProcessor.class) public interface MyEnableAspectjAutoProxy { }Configuration ComponentScan(com.qxlx.aopprocessor) MyEnableAspectjAutoProxy public class Config {}最终通过自定义注解的方式 也实现了这种一个简易版本的AOP 详解 EnableAspectJAutoProxy proxyTargetClass /*** Indicate whether subclass-based (CGLIB) proxies are to be created as opposed* to standard Java interface-based proxies. The default is {code false}.*/boolean proxyTargetClass() default false;其实就是是否基于CGlib进行动态代理对于接口默认时false。 exposeProxy /*** Indicate that the proxy should be exposed by the AOP framework as a {code ThreadLocal}* for retrieval via the {link org.springframework.aop.framework.AopContext} class.* Off by default, i.e. no guarantees that {code AopContext} access will work.* since 4.3.1*/boolean exposeProxy() default false; 其实这个字段的含义就是从4.3.1 版本开始如果设置为true的话会把当前对象的代理对象存储到ThreadLocal对象中。 // 可以用来解决 本类同方法调用事务失效时 获取代理对象IUserService userService (IUserService) AopContext.currentProxy();userService.delete();其实就是根据exposeProxy的值 判断是否true将当前代理对象存储到ThreadLocal中。 // JdkDynamicAopProxy 代理if (this.advised.exposeProxy) {// Make invocation available if necessary.oldProxy AopContext.setCurrentProxy(proxy);setProxyContext true;} // 本质其实就是ThreadLocal private static final ThreadLocalObject currentProxy new NamedThreadLocal(Current AOP proxy); AnnotationAwareAspectJAutoProxyCreator 再往下看的话 其实就是分别JDK和Cglib生成代理的代码了。 1.BeanPostProcess创建代理。考虑循环引用问题 2.ProxyFactory setTarget、setAdvisor、 3.底层的代码 AOPProxy CglibAopProxy JdkDnmiacAopProxy 1.AOP创建了动态代理 2.动态字节码动态 运行时执行 是如何执行的 代理是在运行的过程中才会把原始对象的功能与额外功能进行整合。 动态代理 运行效率低于静态代理代理类执行过程 这里总整体进行总结下一个是代理对象的生成是在bean after BPP阶段进行调用生成的另外一个就是实际方法的调用就是在原有的类基础上代理类加了拦截表达式根据表达式判断当前方法是否需要执行对应的前置 后置 等方法完整额外功能的添加。 感兴趣的可以通过 看 具体的源码 https://github.com/qxlx/spring-code/blob/main/src/main/java/com/qxlx/aopprocessor/
http://www.hkea.cn/news/14487237/

相关文章:

  • 网站风格设计原则国外怎么做推广网站
  • 怎么样开始做网站wordpress rss 修改
  • 网站安全建设架构室内设计联盟app官网
  • 揭阳网站制作建设专业团队朋友圈文案
  • 网站做404好处在线医疗 网站建设
  • 网站营销站点有你想当雄网站建设
  • 南昌做网站的流程电子产品外贸交易平台
  • 网站怎么做seo优化啊网站网络设计是怎么做的
  • wordpress如何做网站企业整站优化
  • 郑青松找谁做的网站重庆最近的新闻大事10条
  • 开发网站网页归档甜品制作网站
  • 网站打不开的原因珠海手机网站
  • 企业做网站需要注意事项黄骅港属于哪个省哪个市
  • 专业做网站公司哪家技术好wordpress自带评论表情
  • 怎样用自己的电脑做网站合肥seo网站建设费用
  • 升腾d9116 做网站外贸网站建设熊掌号
  • 股票订阅网站开发深圳地区5g微波网站建设计划
  • 知名中文网站建设网站cms分站系统
  • h5网站做微信小程序新网如何管理网站
  • 代理网约车平台赚钱吗保定seo排名外包
  • 做策划 都上什么网站网站建设丶金手指专业
  • 网上做家教哪个网站wordpress post编辑
  • 广州网页制作网站维护wordpress分类信息发布系统
  • 免费建站长平台网站自媒体135官网手机版下载
  • 品牌网站建站网站建设神州互动
  • 公司国外网站建设城关网站seo
  • 免费网站看v片在线第一次做wordpress筛选
  • 建站 报价凡科建站官网页更换视频
  • 网站pc端网址和手机端网址建设阿里云自带wordpress
  • 网站 文件注入泉州市华泰建设工程有限公司网站