# spring aop target表达式
基本的格式:@PointCut("target(包名.接口名)")
具体如下例子实现:
1.PersonDao接口:
package com.Aop.Expression;
public interface PersonDao {
//测试这个target 表达式
public void personsay(String name);
}
2.PersonDaoImpl实现类:
public class PersonDaoImpl implements PersonDao {
@Override
public void personsay(String name) {
System.out.println("target expression test....."+name);
}
}
3.myAopExpression通知类:
@Aspect
public class myAopExpression {
@After("target(com.Aop.Expression.PersonDao)")
public void init2() {
// 会导致全部的方法的实现都产生这个after的通知
System.out.println("target expression method success");
}
}
4.springxml文件配置信息:
<bean class="com.Aop.Expression.myAopExpression"/>
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<bean class="com.Aop.Expression.PersonDaoImpl" id="personImpl"/>
5.测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:myaop-pointCut-Expressions.xml")
public class PersonDaoImplTest {
/**
* 一定要写成这个接口 的类名,进行代理
*/
@Autowired
PersonDao personImpl;
@Test
public void testPersonsay() {
personImpl.personsay("我是target表达式:");
}
}
截图:

本文介绍了Spring AOP中target切入点表达式的使用,通过实例展示了如何定义并配置针对特定目标类的切点,以便在所有该类的方法执行后触发通知。在示例中,创建了一个PersonDao接口及其实现类PersonDaoImpl,然后在myAopExpression通知类中使用@After注解和target表达式定义了一个通知,当PersonDao的所有方法执行完毕后,会打印特定的消息。
972

被折叠的 条评论
为什么被折叠?



