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.遇到的问题

  • 相关阅读:
    第十二节:类的定义
    第十二节:类的定义
    第十二节:类的定义
    Android核心技术Intent和数据存储篇
    Android核心技术Intent和数据存储篇
    Android核心技术Intent和数据存储篇
    ObjectDataSource配置数据源的时候,选择业务对象下拉菜单没有任何东西
    两个时间相差多少 .net中的timespan应用
    net3:DropDownList的动态绑定
    ADO:DataSet存入缓存Cache中并使用
  • 原文地址:https://www.cnblogs.com/gongyunlong-blogs/p/14910616.html
Copyright © 2011-2022 走看看