一 , 定义aop
@Aspect
@Component
public class MyAspect {
//* com 这里有个 空格 !
@Pointcut("execution(* com.example.demo.Service.HelloServiceImpl.sayHello(..))")
public void pointCut(){}
@Before("pointCut()")
public void before()
{
System.out.println("befor....");
}
@AfterReturning("pointCut()")
public void afterReturning()
{
System.out.println("afterReturning....");
}
@After("pointCut()")
public void after()
{
System.out.println("after....");
}
@AfterThrowing("pointCut()")
public void afterThrowing()
{
System.out.println("afterThrowing....");
}
}
二 , 定义 service 和 impl
service:
public interface IHelloService {
void sayHello(String name);
}
impl:
@Service("hello")
public class HelloServiceImpl implements IHelloService {
@Override
public void sayHello(String name) {
System.out.println(name +" : hello");
}
}
三 , 测试
@Test
public void contextLoads() {
helloService.sayHello("tyler");
}
四 , 结果