spring mvc에서 서비스(@Service)의 메서드에 적용되어 있는 어노테이션을 가져오는 방법

안녕하세요.

public class DataSourceRoutingInterceptor extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HandlerMethod method = (HandlerMethod) handler;
        ReadOnly readOnly = method.getMethodAnnotation(ReadOnly.class);
        readOnly = (readOnly == null) ? method.getBeanType().getAnnotation(ReadOnly.class) : readOnly;

        // do something

        return true;
    }
}

위 코드는 컨트롤러의 메서드에 적용된 어노테이션을 가져오는 코드로 알고 있습니다. 그런데 서비스에 적용된 어노테이션은 어떻게 접근해야 하는지 감을 못잡겠네요.

@Service
public class ExampleService {
    @Autowired
    private ExampleDao exampleDao;

    @ReadOnly
    public SheetResponseObject getUserList(ExampleParam param) {
        SheetResponseObject responseObject = new SheetResponseObject();
        responseObject.setTotal(exampleDao.getUserListCount());
        responseObject.setData(exampleDao.getUserList(param));
        return responseObject;
    }
}

바로 요 메서드에 @ReadOnly 어노테이션이 있나 없나 확인하고 싶어요. 스프링은 4.3 쓰고 있습니다.

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.