Login.java 目标类
package cn.aop;
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Login{
public void doSometing(){
System.out.println("登录成功......");
}
}
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Login{
public void doSometing(){
System.out.println("登录成功......");
}
}
Validation.java 验证类
package cn.aop;
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Validation{
public void check(){
System.out.println("验证中......");
}
}
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Validation{
public void check(){
System.out.println("验证中......");
}
}
Spring的配置文件applicationContext-aop.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: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.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="login" class="cn.aop.Login"/>
<bean id="validation" class="cn.aop.Validation"/>
<aop:config>
<aop:aspect id="deal" ref="validation">
<aop:pointcut id="target" expression="execution(* cn.aop.Login.doSometing(..))"/>
<aop:before method="check" pointcut-ref="target"/>
</aop:aspect>
</aop:config>
</beans>
<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.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="login" class="cn.aop.Login"/>
<bean id="validation" class="cn.aop.Validation"/>
<aop:config>
<aop:aspect id="deal" ref="validation">
<aop:pointcut id="target" expression="execution(* cn.aop.Login.doSometing(..))"/>
<aop:before method="check" pointcut-ref="target"/>
</aop:aspect>
</aop:config>
</beans>
Test.java 测试类
package cn.aop;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Test{
public static void main(String[] args) {
BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext-aop.xml");
Login login=(Login) factory.getBean("login");
login.doSometing();
}
}
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author
* @version 创建时间:2013-03-23
*/
public class Test{
public static void main(String[] args) {
BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext-aop.xml");
Login login=(Login) factory.getBean("login");
login.doSometing();
}
}
输出结果如下:
验证中......
登录成功......
登录成功......