spring aop例子

时间:2023-03-09 01:24:12
spring aop例子

aaarticlea/png;base64,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" alt="" />

package aoptest;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; public class AopLog {
// 方法执行的前后调用 public Object runOnAround(ProceedingJoinPoint point) throws Throwable {
System.out.println("begin around");
Object object = point.proceed();
//System.out.println(point.getTarget());
System.out.println("end around");
return object;
}
}
/**
*
*/
package aoptest; /**
* @author Administrator
*
*/ public class AopOperation { private int num; public int getNum() {
return num;
} public void setNum(int num) {
this.num = num;
} public void queryOpLog(){
System.out.println(123);
}
}
/*
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ package aoptest; import java.io.Serializable; import org.springframework.beans.factory.annotation.Configurable; @Configurable("configuredBean")
@SuppressWarnings("serial")
public class ShouldBeConfiguredBySpring implements Serializable { private String name; public void setName(String name) {
this.name = name;
} public String getName() {
System.out.println(this.name);
return this.name;
} }
package aoptest;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith; import aoptest.ShouldBeConfiguredBySpring; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.ContextLoader; /**
* @author Administrator
*
*/
//@ContextConfiguration("meta/springConfigured.xml")
public class TestAop { @Test
public void aopTest(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("meta/springConfigured.xml");
ShouldBeConfiguredBySpring myObject = (ShouldBeConfiguredBySpring) context.getBean("configuredBean");
System.out.println(myObject.getName()+",wj");
//AopOperation aopOp = new AopOperation();
//aopOp.queryOpLog();
}
}
<?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:context="http://www.springframework.org/schema/context"
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.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:spring-configured /> <aop:aspectj-autoproxy /> <bean id="aopLog" class="aoptest.AopLog" />
<aop:config>
<aop:aspect ref="aopLog">
<aop:around method="runOnAround"
pointcut="execution (* aoptest.ShouldBeConfiguredBySpring.getName(..))" />
</aop:aspect>
</aop:config> <bean id="configuredBean" class="aoptest.ShouldBeConfiguredBySpring"
lazy-init="true">
<property name="name" value="Rod" />
</bean> </beans>

pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>commonproject</groupId>
<artifactId>common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</project>

控制台输出结果如下:

十月 19, 2014 8:33:57 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@15f550a: startup date [Sun Oct 19 20:33:57 CST 2014]; root of context hierarchy
十月 19, 2014 8:33:57 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [meta/springConfigured.xml]
begin around
Rod
end around
Rod,wj