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

网站建设与管理专业就业文章id wordpress

网站建设与管理专业就业,文章id wordpress,南平建设集团有限公司网站,美乐乐是哪个公司做的网站AOP用于处理系统中分布于各个模块的横切关注点#xff0c;比如事务管理、日志、缓存等。AOP实现的关键#xff0c;在于AOP框架自动创建的AOP代理#xff0c;AOP代理主要分为静态代理和动态代理#xff0c;静态代理的代表为AspectJ#xff1b;而动态代理则以Spring AOP为代…AOP用于处理系统中分布于各个模块的横切关注点比如事务管理、日志、缓存等。AOP实现的关键在于AOP框架自动创建的AOP代理AOP代理主要分为静态代理和动态代理静态代理的代表为AspectJ而动态代理则以Spring AOP为代表。静态代理 AspectJAspectJ是什么Eclipse AspectJ is a seamless aspect-oriented extension to the Java™ programming language. It is Java platform compatible easy to learn and use.AspectJ是Java的扩展用于实现面向切面编程。AspectJ有自己的编辑器ajcAspectJ 官网Eclipse AspectJ​projects.eclipse.orgAspectJ 入门​www.jianshu.com使用AspectJ的编译时增强实现AOP。之前提到AspectJ是静态代理的增强。所谓的静态代理就是AOP框架会在编译阶段生成AOP代理类因此也称为编译时增强。它会在编译阶段将Aspect织入Java字节码中运行的时候就是经过增强之后的AOP对象。proceed方法就是回调执行被代理类中的方法。动态代理Spring AOPSpring AOP官方文档Core Technologies​docs.spring.io1.与AspectJ的静态代理不同Spring AOP使用的是动态代理。所谓的动态代理就是说AOP框架不会去修改字节码而是在内存中临时为方法生成一个AOP对象这个AOP对象包含了目标对象的全部方法并且在特定的切点做了增强处理并回调原对象的方法。2.Spring AOP中的动态代理主要有两种方式JDK动态代理和CGLIB动态代理。JDK动态代理通过“反射”来接收被代理的类并且要求被代理的类必须实现一个接口。JDK动态代理的核心是InvocationHandler接口和Proxy类。如果目标类没有实现接口那么Spring AOP会选择使用CGLIB来动态代理目标类。3.CGLIBCode Generation Library是一个代码生成的类库可以在运行时动态地生成某个类的子类。注意CGLIB是通过继承的方式做的动态代理因此如果某个类被标记为final那么它是无法使用CGLIB做动态代理的。使用动态代理实质上就是调用时拦截对象方法对方法进行改造、增强测试CGlib生成的动态代理测试类package com.example.demo.aop;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;SpringBootApplication RestController //EnableAspectJAutoProxy public class SpringBootDemoApplication {// 直接用Chinese类注入Autowiredprivate Landlord landlord;RequestMapping(/test)public void test() {landlord.service();System.out.println(landlord.getClass());}public static void main(String[] args) {SpringApplication.run(SpringBootDemoApplication.class, args);} }Landlord类package com.example.demo.aop;import org.springframework.stereotype.Component;Component(landlord) public class Landlord {public void service() {// 仅仅只是实现了核心的业务功能System.out.println(签合同);System.out.println(收房租);} } Broker类package com.example.demo.aop.aspect;import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component;Component Aspect class Broker {Before(execution(* com.example.demo.aop.Landlord.service()))public void before() {System.out.println(带租客看房);System.out.println(谈价格);}After(execution(* com.example.demo.aop.Landlord.service()))public void after() {System.out.println(交钥匙);} }运行结果带租客看房 谈价格 签合同 收房租 交钥匙 class com.example.demo.aop.Landlord$$EnhancerBySpringCGLIB$$1f1c504aSpring AOP就是这么简单啦​juejin.imJava AOP的底层实现原理 - 健人雄 - 博客园​www.cnblogs.comSpring(4)——面向切面编程AOP模块​www.jianshu.com
http://www.pierceye.com/news/72647/

相关文章:

  • 黄冈网站建设 网络推广陕西省建设银行网站
  • 网站建设第二年费用wordpress主题基础
  • 网站建设时应该做的优化北京建设工程主管部门网站
  • 简易个人网站新产品宣传推广策划方案
  • 外观设计网站html5博客网站源码
  • 网站建设找哪家好济南网络优化中心照片
  • 艺术学校示范校建设专题网站公司网站域名主机
  • 网站的图片怎么制作地方网站不让做吗
  • dw制作一个手机网站模板下载全屋装修设计定制整装
  • 济南哪家公司做网站好sns网站建设
  • 手机网站 设计图四川省住房与城乡建设厅网站管网
  • 做设计不进设计公司网站中山精品网站建设信息
  • 聊城公司做网站门户网站首页模板下载
  • 职参简历网站怎么不花钱建网站
  • 网站流量少怎么做xampp wordpress
  • 海南智能网站建设公司重庆做网站的公司
  • 做网站 毕业设计wordpress的zip和tar
  • 建立网站最好的模板新公司网站建设都有哪些优势
  • 金山专业网站建设wordpress rewrite_rules
  • html网站开发实验报告网站站长工具
  • 网站开发的学校wordpress朗读文章
  • 国际快递网站建设网站开发客户需求文档
  • 公司网站建设费用入什么费用装饰工程包括哪些项目
  • 安徽省做网站宁陵做网站
  • 做网站规划怎么黑网站
  • 网站微信建设运维经验成都网站制作定制
  • 深圳手机网站建设报价公司网站开发可行性报告
  • 海口网站建设网页制作公司大连哪家公司做网站比较好
  • 织梦网站问题wordpress远程图片不能
  • 北京acc网站建设WordPress建站详细过程