Spring 3.x企业应用开发实战(12)----基于Schema配置切面

来源:互联网 发布:历史分时图数据的下载 编辑:程序博客网 时间:2024/06/05 20:26

基于Schema配置切面


如果项目不能使用JDK 5.0,那么就无法使用基于@AspectJ注解的切面了。

一个简单的切面配置

<?xml version="1.0" encoding="UTF-8"?><!-- 引用Spring的多个Schema空间的格式 --><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/tx        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd       http://www.springframework.org/schema/aop       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">           <aop:config proxy-target-class="true">    <aop:aspect ref="adviceMethods"><!-- #1、引用#4處的adviceMethods -->    <aop:before method="preGreeting" pointcut="target(com.smart.schema.NaiveWaiter) and execution (* greetTo(..))"/><!-- 聲明切點表達式 -->    <!-- 增強方法使用adviceMethods Bean中的preGreeting方法 -->    </aop:aspect>    </aop:config>        <bean id="adviceMethods" class="com.smart.schema.AdviceMethods"/><!-- #4、增強方法所在的Bean -->    <bean id="naiveWaiter" class="com.smart.schema.NaiveWaiter"/>    <bean id="naughtWaiter" class="com.smart.schema.NaiveWaiter"/></beans>

NaiveWaiter.java

package com.smart.schema;import com.smart.aspectj.Waiter;public class NaiveWaiter implements Waiter{@Overridepublic void greetTo(String name) {System.out.println("Greet to "+name+"...");}@Overridepublic void serveTo(String name) {System.out.println("Serving to "+name+"...");}}

package com.smart.schema;


public class AdviceMethods 
{
public void preGreeting()
{
System.out.println("--How are you!--");
}
}

原创粉丝点击