spring 使用XML配置开发Spring AOP
生活随笔
收集整理的這篇文章主要介紹了
spring 使用XML配置开发Spring AOP
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
XML方式開發AOP與注解開發原理是相同的,所以這里主要介紹一些用法即可。這里需要在XML中引入AOP的命名空間,所以先來了解一下AOP可配置的元素
代碼清單:切面類
package com.ssm.chapter11.xml.aspect;public class XmlAspect {public void before() {System.out.println("before ......");}public void after() {System.out.println("after ......");}public void afterThrowing() {System.out.println("after-throwing ......");}public void afterReturning() {System.out.println("after-returning ......");}}
代碼清單:spring-cfg4.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.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"><bean id="xmlAspect" class="com.ssm.chapter11.xml.aspect.XmlAspect"/><bean id="roleService" class="com.ssm.chapter11.xml.service.impl.RoleServiceImpl"/><aop:config><!-- 引用xmlAspect作為切面 --><aop:aspect ref="xmlAspect"><!-- 定義切點 --><aop:pointcut id="printRole" expression="execution(* com.ssm.chapter11.xml.service.impl.RoleServiceImpl.printRole(..))"/><!-- 定義通知,引入切點 --><aop:before method="before" pointcut-ref="printRole"/><aop:after method="after" pointcut-ref="printRole"/><aop:after-throwing method="afterThrowing" pointcut-ref="printRole"/><aop:after-returning method="afterReturning" pointcut-ref="printRole"/><aop:around method="around" pointcut-ref="printRole"/></aop:aspect></aop:config></beans>
代碼清單:測試類
public class Main {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("ssm/chapter11/spring-cfg4.xml");RoleService roleService = ctx.getBean(RoleService.class);Role role = new Role();role.setId(1L);role.setRoleName("role_name_1");role.setNote("note_1");roleService.printRole(role);}}
代碼清單:切面類
package com.ssm.chapter11.xml.aspect;public class XmlAspect {public void before() {System.out.println("before ......");}public void after() {System.out.println("after ......");}public void afterThrowing() {System.out.println("after-throwing ......");}public void afterReturning() {System.out.println("after-returning ......");}}
沒有任何的注解,這就意味著需要我們使用XML去向Spring IoC容器描述它們。
代碼清單:spring-cfg4.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.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"><bean id="xmlAspect" class="com.ssm.chapter11.xml.aspect.XmlAspect"/><bean id="roleService" class="com.ssm.chapter11.xml.service.impl.RoleServiceImpl"/><aop:config><!-- 引用xmlAspect作為切面 --><aop:aspect ref="xmlAspect"><!-- 定義切點 --><aop:pointcut id="printRole" expression="execution(* com.ssm.chapter11.xml.service.impl.RoleServiceImpl.printRole(..))"/><!-- 定義通知,引入切點 --><aop:before method="before" pointcut-ref="printRole"/><aop:after method="after" pointcut-ref="printRole"/><aop:after-throwing method="afterThrowing" pointcut-ref="printRole"/><aop:after-returning method="afterReturning" pointcut-ref="printRole"/><aop:around method="around" pointcut-ref="printRole"/></aop:aspect></aop:config></beans>
?
代碼清單:測試類
public class Main {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("ssm/chapter11/spring-cfg4.xml");RoleService roleService = ctx.getBean(RoleService.class);Role role = new Role();role.setId(1L);role.setRoleName("role_name_1");role.setNote("note_1");roleService.printRole(role);}}
?
轉載于:https://www.cnblogs.com/ooo0/p/11018752.html
總結
以上是生活随笔為你收集整理的spring 使用XML配置开发Spring AOP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MSSQL-SQL SERVER 分页原
- 下一篇: C#数据结构-栈