Как выполнить проверку во время запуска для всех случаев использования аннотации?
Например, у меня есть этот аспект, который применяется к методам, отмеченным @Protect
, который применяет некоторую политику безопасности. Во всей системе у нас есть методы, отмеченные @Protect("valid-operation-1")
, @Protect("valid-operation-2")
или @Protect("INVALID-operation")
. Как только приложение запустится, я хотел бы проверить аргументы, предоставленные для всех этих аннотаций, чтобы обнаружить такие неправильные конфигурации.
В частности, я проверю, определен ли bean-компонент в контексте приложения Spring, идентификатор которого соответствует аргументу аннотации. Это означает, что для защиты метода void drive()
я буду аннотировать @Protect("drive")
и ожидать, что bean-компонент protect_drive
будет присутствовать в контексте приложения.
Вы можете просто подождать, пока метод будет вызван, затем вызывается совет, и вы проверяете аргумент. Тогда вы увидите, что INVALID-operation
неправильно определено. Но это слишком поздно .
Можно ли проверить это для всех аннотированных методов при запуске приложения?