Spring入门知识 ———— 基于xml配置文件的形式配置AOP

版权声明:本文为博主原创文章,未经博主允许不得转载。 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同样也能做到。在这里小编只是演示返回式通知,像什么前置通知、后置通知、异常通知小伙伴要懂得学会举一反三。自己摸索一下很快能掌握的,不信? 你试试吧

猜你喜欢

转载自blog.csdn.net/weixin_38111957/article/details/83832975