2

注釈があります:

@Target( { ElementType.METHOD } )
@Retention( RetentionPolicy.RUNTIME )
@Inherited
public @interface Privilege {

    String[] value();   
}

そしてインターフェース:

public interface UserService {
    @Privilege("USER_READ")
    UserDTO getUserProperties(long userId);
}

とその実装:

public class UserServiceImpl implements UserService {
     public UserDTO getUserProperties(long userId) { ... }
}

そしてSpring AOP設定:

    <aop:aspectj-autoproxy />
    <aop:config>
      <aop:aspect id="securityAspect" ref="hlSecurityCheck">
      <aop:pointcut id="securityPointcut" 
                    expression="@annotation(services.annotation.Privilege)" />
                <aop:around pointcut-ref="securityPointcut" method="checkService" />
...

なぜこれが機能しないのですか?(UserServiceImpl のメソッドに直接アノテーションを付けると動作します...

ありがとう!

4

2 に答える 2