zoukankan      html  css  js  c++  java
  • 2021-4-14 日报博客

    个人博客

    1.学到的东西

    3.基于注解的 AOP 开发

    3.1 快速入门

    基于注解的aop开发步骤:

    ①创建目标接口和目标类(内部有切点)

    ②创建切面类(内部有增强方法)

    ③将目标类和切面类的对象创建权交给 spring

    ④在切面类中使用注解配置织入关系

    ⑤在配置文件中开启组件扫描和 AOP 的自动代理

    ⑥测试

    ①创建目标接口和目标类(内部有切点)

    public interface TargetInterface {
        public void method();
    }
    
    public class Target implements TargetInterface {
        @Override
        public void method() {
            System.out.println("Target running....");
        }
    }
    

    ②创建切面类(内部有增强方法)

    public class MyAspect {
        //前置增强方法
        public void before(){
            System.out.println("前置代码增强.....");
        }
    }
    

    ③将目标类和切面类的对象创建权交给 spring

    @Component("target")
    public class Target implements TargetInterface {
        @Override
        public void method() {
            System.out.println("Target running....");
        }
    }
    @Component("myAspect")
    public class MyAspect {
        public void before(){
            System.out.println("前置代码增强.....");
        }
    }
    

    ④在切面类中使用注解配置织入关系

    @Component("myAspect")
    @Aspect
    public class MyAspect {
        @Before("execution(* com.itheima.aop.*.*(..))")
        public void before(){
            System.out.println("前置代码增强.....");
        }
    }
    

    ⑤在配置文件中开启组件扫描和 AOP 的自动代理

    <!--组件扫描-->
    <context:component-scan base-package="com.itheima.aop"/>
    
    <!--aop的自动代理-->
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
    
    

    ⑥测试代码

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:applicationContext.xml")
    public class AopTest {
        @Autowired
        private TargetInterface target;
        @Test
        public void test1(){
            target.method();
        }
    }
    

    ⑦测试结果

    2.明日计划

    注解配置 AOP

    3.遇到的问题

  • 相关阅读:
    OBJ文件格式详解
    HashMap的用法
    HashMap和Hashtable的区别
    加载物体的方法
    drawSelf(int texId)格式对应
    adb.exe诊断
    Android Eclipse如何用BlueStacks模拟器
    .md5mesh and .md5anim文件介绍
    ubuntu命令行下中文乱码的解决方案 (我采取了其中方案一与方案二,都还没成功—待定)
    Ubuntu下小巧智能的代码编辑器Scribes
  • 原文地址:https://www.cnblogs.com/gongyunlong-blogs/p/14910616.html
Copyright © 2011-2022 走看看