版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111957/article/details/83832975
一、引言
Spring两个核心的入门知识今天是最后一章节了,小编个人感觉吧之前的内容理解,熟悉之后,入门肯定是没问题的。
那么今天最后来讲通过XML的形式,来配置AOP实现,不要眨眼,很快的。
二、切面实现类
业务实现代码小编就省略了,重点在于下面通过XML配置AOP
实现AOP的类是必不可少的步骤,只是不再使用注解的方式,而是XML配置
public class InsertLogHeadr {
/**
* 切面执行的方法,小编这里以返回时通知为例
* @param result
*/
public void insertLogs(String result){
System.out.println("InsertLogHeadr.insertLog");
}
}
三、通过XML配置AOP
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
<!--交给Spring管理-->
<bean id="userMange" class="com.spring.three.UserMangeImpl"></bean>
<bean id="insertLogHeadr" class="com.spring.three.InsertLogHeadr"></bean>
<!--使用aop:config来进行配置,如果没有快捷键提示,原因是因为没有AOP的命名空间-->
<aop:config>
<!-- 定义一个Aspect,相当于@Aspect注解的功能,ref指向实现切面的类 -->
<aop:aspect ref="insertLogHeadr">
<!--定一个pointcut,相当于@Pointcut,表达式语法都是一致的-->
<aop:pointcut id="insertlog" expression="execution(* com.spring.three.UserMangeImpl.*(..))"></aop:pointcut>
<!--
1、指定AOP通知方式,小编这里是返回时通知
2、method,指定具体实现的方法
3、指定应用哪个pointcut
4、返回时通知,需要拿到返回值,通过returning,和注解配置一样
-->
<aop:after-returning method="insertLogs" pointcut-ref="insertlog" returning="result"></aop:after-returning>
</aop:aspect>
</aop:config>
</beans>
讲完了,是不是真的很快~~~~
四、最后讲两句
最后简单总结一下吧,不然这么点内容,小编都不好意思发。
其实XML配置方式和注解的形式都差不多,只是表示的形式不一样,注解能支持的配置,XML同样也能做到。在这里小编只是演示返回式通知,像什么前置通知、后置通知、异常通知小伙伴要懂得学会举一反三。自己摸索一下很快能掌握的,不信? 你试试吧