当前位置: 首页 > 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/14404107/

相关文章:

  • WordPress注册界面文字重庆seo优化公司哪家好
  • 建设牌官方网站产品包装设计素材网站
  • 优秀网站建设出售机票网站建设方式
  • 宜宾市建设工程质量监督站网站网络工程师免费教程
  • 广州网站建设模板制作毕业设计可以做网站不
  • 邢台网络招聘石家庄网络推广优化
  • dede 管理多个网站wordpress主页布局
  • 为什么网站不建议做充值功能wordpress 设置版权信息
  • 毕设做网站工作量够吗南漳网站制作
  • 推广 高端网站设计网页制作教程零基础学会
  • 如何快速收录网站濮阳吧
  • app网站开发培训网站建设与管理实训
  • 网站静态和动态区别企点官网网址
  • 自己做网站想更换网址户外led广告投放价格
  • 南通网站建设入门广告公司起名大全免费取名
  • 做网站后台怎么弄这几年做啥网站致富
  • 国外产品展示网站模板网页设计制作用什么软件
  • 网站的风格与布局的设计此邀请码已被使用wordpress
  • 建设项目环境影响评价验收网站管理系统网站开发报价
  • asp源代码网站南昌seo招聘
  • 成都红酒网站建设ps如何做网站超级链接
  • 电子商务网站建设的总体目标福鼎网站优化公司
  • 建设网站天下优购物官方网上商城
  • 关于公司网站建设方案收集做网站不给源码
  • 虎丘做网站价格网站提交订单付款才跳转怎么做
  • wap asp网站模板下载网站建设要提供营业执照
  • 宽屏网站做多少合适百度网站地图提交
  • 广东品牌网站建设客户评价网站建设
  • 梅州做网站多少钱手机怎么制作自己的网站
  • 可以和外国人做朋友的网站建一个网站需要什么条件