============== 注解切入点函数 ============== @annotation() 根据特定的注解切方法。 1 定义注解 /src/main/java/cn/tedu/proxy/Log.java: @Target(ElementType.METHOD) // 这是一个加在方法上的注解 @Retention(RetentionPolicy.RUNTIME) public @interface Log { } 2 添加注解 /src/main/java/cn/tedu/proxy/UserServiceImpl.java: public class UserServiceImpl implements UserService { ... @Override @Log public void register(User user) { ... } ... } 3 定义切点 /src/main/resources/applicationContext.xml: >>>> BEFORE INVOKE >>>> \ UserServiceImpl.register | 只切带有@Log注解的方法 <<<< AFTER INVOKE <<<< / UserServiceImpl.login \ | 不切不带@Log注解的方法 OrderServiceImpl.show / 例程:Proxy