美文网首页
spring aop个人学习

spring aop个人学习

作者: 42个艾尔 | 来源:发表于2019-02-13 21:15 被阅读0次

    1.对于一般介绍见AOP的基础

    理解 切入点 切面
    通知分为:前置通知,后置通知,环绕通知,异常通知,最终通知


    面向切面编程add()为切面

    2.普通类变成特殊类的3个方法

    加入接口 继承类 加注解 加配置
    加入接口所需要实现的接口为

    org.springframework.aop.MethodBeforeAdvice before()/*后面的为方法*/
                                            .AfterReturningAdvice afterReturning()
                                            .ThrowAdvice wu
                                            .Methodlnterceptor invoke()
    

    3.架包

    需要aopaliance.jar与aspectjweaver.jar

    xml启用

           <!-- Aop配置 -->
        <aop:config>
            <!-- 定义一个切入点表达式: 拦截哪些方法 -->
            <aop:pointcut expression="execution(* com.itmayiedu.*.*(..))" id="pt"/>
            <!-- 切面 -->
            <aop:aspect ref="aop">
                <!-- 环绕通知 -->
                <aop:around method="around" pointcut-ref="pt"/>
                <!-- 前置通知: 在目标方法调用前执行 -->
                <aop:before method="begin" pointcut-ref="pt"/>
                <!-- 后置通知: -->
                <aop:after method="after" pointcut-ref="pt"/>
                <!-- 返回后通知 -->
                <aop:after-returning method="afterReturning" pointcut-ref="pt"/>
                <!-- 异常通知 -->
                <aop:after-throwing method="afterThrowing" pointcut-ref="pt"/>
                
            </aop:aspect>
        </aop:config>
    

    注解aop开启
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

    public class Aop {
        /*前置通知,方法之前执行*/
        @Before("execution(* mainClass.Person.user(..)))")//定义切面方法
        public void start(){
            System.out.println("吃东西");
        }
    
        public void end(){
    
            System.out.println("结束吃东西");
        }
    }
    
    
    @Component
    public class Person {
        private String name="ff";
        @Resource
        private Aop aop;
        public void user(){
    
            System.out.println(name+".......");
    
        }
        private void jj(){
            System.out.println("jj");
        }
    }
    

    相关文章

      网友评论

          本文标题:spring aop个人学习

          本文链接:https://www.haomeiwen.com/subject/twkjeqtx.html