spring中動態代理和靜態代理的配置

來源:互聯網
上載者:User

 

<?xml version="1.0" encoding="UTF-8"?>
<beans
   xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 
     
   <!-- dao bean -->
   <bean id="dao" class="cn.com.csuinfosoft.aop.DaoImpl"></bean>  
  
   <!-- testTemp   bean -->
   <bean id="temp" class="cn.com.csuinfosoft.aop.TestTemp"></bean>  
  
  
   <!--定義一個切面類   before-->
   <bean id="before" class="cn.com.csuinfosoft.aop.BeforeAdvice"></bean>
  
   <!-- after advice -->
   <bean id="after" class="cn.com.csuinfosoft.aop.AfterAdvice"></bean>
  
   <!-- around advice -->
   <bean id="around" class="cn.com.csuinfosoft.aop.AroundAdvice"></bean>
  
  
   <!-- auto proxy 動態代理-->
   <bean id="autoProxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  
     <!-- 配置bean列表   要被切入的類 -->
     <property name="beanNames">
       <list>
       <value>dao*</value>
       <value>temp</value>
       </list>
     </property>
     <!-- 切入的切面類 -->
     <property name="interceptorNames">
       <list>
       <value>point</value>
       </list>
    
     </property>
  
   </bean>
  
  
   <!-- 配置切入點   NameMatchMethodPointcutAdvisor根據方法的名字切入-->
   <bean id="point" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
    
     <!-- 哪些方法要被切入 -->
     <property name="mappedNames">
       <list>
       <value>insert*</value>
       <value>save</value>
       </list>
     </property>
      
    
     <!-- 切入的切面類 -->
     <property name="advice" ref="before">
      
     </property>
   </bean>
    
   <!-- 靜態代理   ProxyFactoryBean:配置一個代理對像 -->
   <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
        
         <!--   被代理的介面列表 -->
  
     <property name="proxyInterfaces">
       <list>
       <value>cn.com.csuinfosoft.aop.Dao</value>
       </list>
     </property>
    
       <!--   目標對像   -->

     <property name="target">
       <ref bean="dao"/>
     </property>
    
       <!-- 加入的切面類   -->
     <property name="interceptorNames">
       <list>
       <value>around</value>
       </list>
     </property>
   </bean>  
  
  
</beans>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.