spring 应用个人理解

 

spring aop个人理解:

 
 
 
 
 <bean id="helloWorldImpl1" class="com.xrq.aop.HelloWorldImpl1" />
        <bean id="helloWorldImpl2" class="com.xrq.aop.HelloWorldImpl2" />
        <bean id="timeHandler" class="com.xrq.aop.TimeHandler" />
        <bean id="logHandler" class="com.xrq.aop.LogHandler" />
        
        <aop:config>
            <aop:aspect id="time" ref="timeHandler" order="1">
                <aop:pointcut id="addTime" expression="execution(* com.xrq.aop.HelloWorld.print*(..))" />
                <aop:before method="printTime" pointcut-ref="addTime" />
                <aop:after method="printTime" pointcut-ref="addTime" />
            </aop:aspect>
            <aop:aspect id="log" ref="logHandler" order="2">
                <aop:pointcut id="printLog" expression="execution(* com.xrq.aop.HelloWorld.do*(..))" />
                <aop:before method="LogBefore" pointcut-ref="printLog" />
                <aop:after method="LogAfter" pointcut-ref="printLog" />
            </aop:aspect>
        </aop:config>

对以上的aop配置理解:

1:横切关注点timerHandler(bean相对应的类class为com.xrq.aop.TimeHandler,)其中的方法method="printTime" printtime方法在系统调用expression="execution(* com.xrq.aop.HelloWorld.*(..))" HelloWorld包下所有类(*)中的所有(..)方法之前会被调用<aop:before,因为配置成了before,而在之后也会调用<aop:after method="printTime" pointcut-ref="addAllMethod" />,相应的配置了before!:

2:以上两个横切关注点:order表示执行顺序。

注:以上的个人理解主要参考于以下博文:

https://www.cnblogs.com/hongwz/p/5764917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值