zoukankan      html  css  js  c++  java
  • Spring(十一)-- Spring代理生成器

    Spring代理生成器

    1.创建需要的dao接口

    2.创建需要的daoImpl实现类

    3.创建前置增强类

    4.创建spring.xml文件

    <!--  这个案例 需要解决的问题:
       一个代理工厂 配置 多个目标对象!-->
        <!--01.配置目标对象-->
        <bean id="userDao" class="com.xdf.dao.UserDaoImpl"/>
        <!--为了 测试 会给 所有的bean注入增强-->
        <bean id="userDao2" class="com.xdf.dao.UserDaoImpl"/>
    
        <!--02.配置相应的增强类-->
        <bean id="before" class="com.xdf.dao.BeforeAdvice"/>
    
        <!--03.设置顾问  让目标对象和通知产生关系-->
        <bean id="myAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
            <!--配置通知-->
            <property name="advice" ref="before"/>
            <!--配置切入点-->
            <property name="mappedName"  value="sleep"/>
        </bean>
    
        <!--04.配置自动的代理生成器 底层其实就是执行了bean的后处理器
         弊端:  就是会给容器中所有的bean 都注入增强! 不能取消!-->
        <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>

    5. 创建测试类

     @Test
     public  void  defaultTest(){
         ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
         UserDao dao= context.getBean("userDao", UserDao.class);
         //UserDao dao= context.getBean("userDao2", UserDao.class);  也会被注入增强方法
         dao.eat();
         dao.sleep();
    }

      我们肯定不需要容器管理的所有bean都被增强! 这时候就需要使用另外一个BeanNameAutoProxyCeator!

    6. 创建beanName.xml文件

    7. 创建测试方法

  • 相关阅读:
    Spark SQL+day04笔记
    Spark 环境搭建
    海量数据处理 算法总结2
    Scala面试题 看过1
    HTML-table、form表单标签的介绍
    Java-CSS美化网页元素
    Java-BOM与DOM对象
    java-CSS盒子模型、浮动、定位
    java-基础面试题(2)
    Java-io流
  • 原文地址:https://www.cnblogs.com/fl72/p/9655848.html
Copyright © 2011-2022 走看看