1. 程式人生 > >applicationContext.xml(Spring)

applicationContext.xml(Spring)

advice style int pack tro ati -c div blog

bean和aspect都通過註釋的方式

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
xmlns:context="http://www.springframework.org/schema/context"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
> <!--註釋方式掃描bean--> <context:annotation-config/> <!-- 對以manager開頭的包進行掃描 --> <context:component-scan base-package="manager"/> <!-- [email protected] aspects的註釋支持 --> <aop:aspectj-autoproxy></aop:aspectj-autoproxy
> </beans>

bean通過xml配置,aspect通過註釋

<?xml version="1.0" encoding="UTF-8"?>  
  
<beans xmlns="http://www.springframework.org/schema/beans"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xmlns:aop="http://www.springframework.org/schema/aop"  
         xmlns:tx="http://www.springframework.org/schema/tx"  
         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd  
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd  
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
           http://www.springframework.org/schema/context">  
  
    <!-- [email protected] aspects的註釋支持 -->  
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>  
   <bean id="xxx"  class="xxx"></bean>  
</beans>  

bean通過註釋,aspect通過xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-4.1.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">    
     
     
        <!-- 通過annotation來進行bean的創建 -->
        <context:annotation-config/>
        <!-- 對以manager開頭的包進行掃描 -->
        <context:component-scan base-package="manager"/>
        <!-- 通過xml方式來配置AOP -->
        <aop:config>       
            <!-- 聲明在哪些位置我要加入這個切面 -->
             <aop:pointcut expression="execution(* find*(..))" id="testpointcut"/>
              <!-- 聲明一個切面 -->                      
            <aop:aspect id="AspectJAdvice" ref="aspectJAdvice">
                <aop:before method="doBefore" pointcut-ref="testpointcut"/>
                 <aop:after method="doAfter" pointcut-ref="testpointcut"/>
                  <aop:around method="doAround" pointcut-ref="testpointcut"/>
                  <!--一定要有return屬性-->
                 <aop:after-returning method="doReturn" returning="retVal" pointcut-ref="testpointcut"/>
                  <!--一定要有throwing屬性-->   
              <aop:after-throwing throwing="ex" method="doThrowing" pointcut-ref="testpointcut"/>
                 
            </aop:aspect>
        </aop:config>        
</beans>

applicationContext.xml(Spring)