@target

@Aspect
public class UserServiceAspect {
  @Before("@target(com.jilinwula.spring.annotation.Login)")
  public void before() {
    System.out.println("需要登陆");
  }
}
@Retention(RetentionPolicy.RUNTIME) // 生命注解的保留期限
@Target({ElementType.METHOD, ElementType.TYPE}) // 生命注解可以使用的类型
public @interface Login {
  boolean role() default false; // 生命注解成员
}
@Login
public class UserService{

  public void login(String username, String password) {
    System.out.println(String.format("用户登陆: username: %s password: %s", username, password));
  }

  public void register(String username, String nickName, String password) {
    System.out.println(String.format("用户注册: username: %s nickName: %s password: %s", username, nickName, password));
  }

}
<bean id="userService" class="com.jilinwula.spring.aop.UserService"/>
<bean class="com.jilinwula.spring.annotation.UserServiceAspect"/>
<aop:aspectj-autoproxy/>
@Test
public void test() {
  ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean.xml");
  UserService userService = applicationContext.getBean("userService", UserService.class);
  userService.register("admin", "吉林乌拉", "jilinwula");
  userService.login("admin", "jilinwula");
}
需要登陆
用户注册: username: admin nickName: 吉林乌拉 password: jilinwula
需要登陆
用户登陆: username: admin password: jilinwula
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索