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

조회수 2012회

안녕하세요.

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 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)