基于配置的spring AOP的一个示例
2012-11-03 23:36
369 查看
/** *包括四个类,和一个配置文件 *1.切面类 Audience,此类中包括各种Advice,pointCut是对jointPoint的一个子集(通过表达式来获取) *2和3: 接口Singer及其实现类SingerImpl,此类包括joinPoint *4.测试类Test *配置文件:springtestconfiguration.xml */
package com.springinaction.aop.config; public class Audience { // 落座 private void takeSeats() { System.out.println("落座"); } // 关闭手机 private void turnOffCellPhones() { System.out.println("关闭手机"); } // 喝彩 private void applaud() { System.out.println("喝彩"); } // 退票 private void demandRefund() { System.out.println("退票"); } } ///////////////////////////// package com.springinaction.aop.config; public interface Singer { public void singSong(); } /////////////////////////////// package com.springinaction.aop.config; public class SingerImpl implements Singer { private String song; public void setSong(String song) { this.song = song; } public void singSong() { System.out.println("我要唱: " + this.song); } } /////////////////////////// package com.springinaction.aop.config; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.FileSystemXmlApplicationContext; public class Test { public static void main(String[] args) { //必须要使用上下文的applicationContext才能使用AOP,而bean工厂是不支持的 //BeanFactory factory = new ClassPathXmlApplicationContext("springtestconfig.xml"); BeanFactory factory = new FileSystemXmlApplicationContext("springtestconfig.xml"); //BeanFactory factory = new XmlBeanFactory(new FileSystemResource("springtest.xml")); Singer singer = (Singer) factory.getBean("singer"); singer.singSong(); } } /////////////////////////////////
<?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-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="audience" class="com.springinaction.aop.config.Audience" /> <bean id="singer" class="com.springinaction.aop.config.SingerImpl"> <property name="song" value="爱你一万年" /> </bean> <aop:config> <aop:aspect ref="audience"> <aop:before method="takeSeats" pointcut="execution(* *.sing*(..))" /> <aop:before method="turnOffCellPhones" pointcut="execution(* *.sing*(..))" /> <aop:after-returning method="applaud" pointcut="execution(* *.sing*(..))" /> <aop:after-throwing method="demandRefund" pointcut="execution(* *.sing*(..))" /> </aop:aspect> </aop:config> </beans>
相关文章推荐
- Spring aop 简单示例——基于XML配置和基于注解配置
- Spring AOP(3)基于XML配置实现的示例
- 基于注解的spring AOP的一个示例
- Spring中基于配置XML与Annotation注解配置AOP
- Spring AOP基于注解的“零配置”方式实现以及一些其他知识点
- 基于注解的Spring AOP的配置和使用 (顶)
- Spring中的AOP(七)——基于XML配置文件方式的AOP
- 基于配置的Spring AOP
- Spring中的AOP(六)——基于XML配置文件方式的AOP
- spring之aop编程——基于注解、xml配置文件方式
- RMI远程方法调用示例【基于Spring配置文件】
- Spring基于xml文件的方式配置AOP
- 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP
- 基于XML的spring AOP配置
- 20.Spring学习笔记_基于配置文件的方式来配置 AOP(by尚硅谷_佟刚)
- 基于注解的Spring AOP的配置和使用
- 基于注解的Spring AOP的配置和使用
- spring学习总结(十):基于 XML 的配置AOP
- 基于xml文件的格式配置Spring的AOP
- 服务调用RMI远程方法调用示例【基于Spring配置文件】