需要添加引用:
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-aop
</
artifactId
>
<
version
>
${org.springframework.version}
</
version
>
</
dependency
>
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-aspects
</
artifactId
>
<
version
>
${org.springframework.version}
</
version
>
</
dependency
>
package
com.yln.spring.aop;
public
interface
IHelloWorldService {
public
void
sayHello();
}
package
com.yln.spring.aop;
public
class
HelloWorldService
implements
IHelloWorldService {
public
void
sayHello() {
System.
out
.println(
"============Hello World!"
);
}
}
package
com.yln.spring.aop;
public
class
HelloWorldAspect {
//前置通知
public
void
beforeAdvice() {
System.
out
.println(
"===========before advice"
);
}
//后置最终通知
public
void
afterFinallyAdvice() {
System.
out
.println(
"===========after finally advice"
);
}
}
<?
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:c
=
"http://www.springframework.org/schema/c"
xmlns:context
=
"http://www.springframework.org/schema/context"
xmlns:p
=
"http://www.springframework.org/schema/p"
xmlns:tx
=
"http://www.springframework.org/schema/tx"
xmlns:aop
=
"http://www.springframework.org/schema/aop"
xmlns:util
=
"http://www.springframework.org/schema/util"
xsi:schemaLocation
=
"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.2.xsd"
>
<
bean
id
=
"helloWorldService"
class
=
"com.yln.spring.aop.HelloWorldService"
/>
<
bean
id
=
"aspect"
class
=
"com.yln.spring.aop.HelloWorldAspect"
/>
<
aop:config
>
<
aop:pointcut
id
=
"pointcut"
expression
=
"execution(* com.yln..*.*(..))"
/>
<
aop:aspect
ref
=
"aspect"
>
<
aop:before
pointcut-ref
=
"pointcut"
method
=
"beforeAdvice"
/>
<
aop:after
pointcut
=
"execution(* com.yln..*.*(..))"
method
=
"afterFinallyAdvice"
/>
</
aop:aspect
>
</
aop:config
>
</
beans
>