Project structure, the basic spring configuration is not to repeat
1. First write your custom slice class
Package org.wu.test;
Import org.aspectj.lang.annotation.AfterReturning;
Import Org.aspectj.lang.annotation.Aspect;
Import Org.aspectj.lang.annotation.Before;
Import Org.aspectj.lang.annotation.Pointcut;
Import org.springframework.stereotype.Component;
@Component
@Aspect
public class DIv {
@Pointcut ("Execution (* Org.wu.test.WyzController.say (..))")
public void aspect () {
}
@Before ("aspect ()")
public void Dobefore () {
System.out.println ("Start");
}
@AfterReturning ("aspect ()")
public void Doafter () {
System.out.println ("End");
}
}
@Component: Component scan injected into spring container management
@Aspect the specified slice class
@Pointcut () Specify Pointcuts
@Before ("aspect ()") Pre-notification
Package org.wu.test;
Import org.springframework.beans.factory.annotation.Autowired;
Import Org.springframework.stereotype.Controller;
Import org.springframework.web.bind.annotation.RequestMapping;
Import Org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler;
@Controller
public class Wyzcontroller {
@Autowired
Private Wyz Wyz;
@RequestMapping ("/say")
Public String Say () throws Exception {
Wyz.say ();
Return "";
}
The class to manipulate is to specify the function of the slice as the say method with this class
This completes a very simple example of an AOP application
SPRING-AOP Simple Example Annotated version