欢迎大家来到IT世界,在知识的湖畔探索吧!
一、实现自己的AOP
我们知道AOP的底层其实就是基于动态代理机制实现的,所以这里先自己实现一下AOP
就如上篇随笔所说,动态代理类必须要实现InvocationHandler的这个接口,我们的这个类当然也要实现这个接口了。然后在里面定义了一个私有的Object属性,表示我们要代理的对象。这里我们将这个类的构造方法禁用掉,使其不能通过外部直接new出来一个对象,然后我们写一个newInstance的方法来给我们的代理对象赋初值,并且返回的就是我们的代理对象。我们看看在beans.xml中的配置文件
因为我们的DynamicProxy类的对象以及代理对象是通过static方法来进行注入的,因此我们如果要对其进行注入的话,需要通过 factory-method 这个属性来给我们的静态方法进行属性注入,通过 <constructor-arg>来讲参数传递进去,这样我们的userDAOProxy就是一个代理对象了。
二、通过Annotation来配置我们的AOP
我们要将AOP的schema引入,如果使用注解的话,还要开启AOP的自动代理
然后我们来看看我们的切面类:
因为Spring的AOP使用的是第三方的jar包,所以我们这里还要引入三个AOP的jar文件:
这样我们的基于注解的AOP就配置好可以使用了。
三、基于XML的AOP配置
如果基于XML的AOP配置,我们的beans.xml配置如下
我们这里当然也要声明我们的切面类:
本篇随笔主要记录了自己实现AOP的配置以及基于Annotation和XML的方式来配置我们的AOP
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/21880.html