Spring @Transactional v Spring Security @Secured несогласованное поведение

Документация Spring рекомендует помещать аннотацию @Transactional к конкретному классу / методу, а не к интерфейсу. Причина этого неоднократно описывалась в Stack Overflow, например:

Где я должен разместить аннотацию @Transactional: в определении интерфейса или в классе реализации?

Spring Security Поведение @Secured отличается; в большей части документации показано размещение аннотации на интерфейсе. Фактически, кажется, что это работает независимо от того, комментируете ли вы интерфейс или конкретный класс, и независимо от того, используете ли вы прокси-серверы JDK или CGLib.

Это кажется лучшим решением. Так почему непоследовательность? Один ответ на вышеупомянутый вопрос предполагает влияние на производительность ... но, конечно же, производительность так же важна для безопасности ?!

И как решение @Secured решает проблему наследования алмаза (класс реализует 2 интерфейса, оба имеют один и тот же метод @Secured по-разному)?

6
задан Community 23 May 2017 в 11:59
поделиться