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. 创建测试方法

  • 相关阅读:
    从VS转MyEclipse的15天使用体验
    JSP标签
    cookie实现自动登录
    js中substring和substr的用法
    用原生sql查询返回实体对象的方法
    @Column
    event.keyCode用法及列表
    jQuery的选择器中的通配符[id^='code']
    struts2中<s:radio>标签设置默认选中项
    在Struts2中实现登陆后跳转到登录前页面
  • 原文地址:https://www.cnblogs.com/fl72/p/9655848.html
Copyright © 2011-2022 走看看