JSR 250
JSR 250 это Запрос Спецификации Java целью которого является разработка аннотаций (информация о программном обеспечении которая не является частью самой программы) для общих семантических концептов для платформ Java EE и Java SE которые применимы для различных, отдельных технологий. Наблюдения показывают что различные JSR используют аннотации для предоставления декларативного стиля программирования. Поддерживать стабильность между JSR компонентами Java EE очень важно, так же как и поддерживать такую стабильность между Java EE и Java SE.
Описание и назначение
JSR 250, как Запрос на Спецификацию Java имеет цель определить набор аннотаций которые нацелены на общие семантические концепты и могут быть использованы многими компонентами Java EE и Java SE. Это нужно для предотвращения излишних аннотаций в этих компонентах. JSR 250 был выпущен 11 Мая 2006 года. Так как Декларативная конфигурация при помощи аннотаций становится популярнее в приложениях и каркасах Java, то важность данного JSR, скорее всего, возрастет в будущем. Например Spring предоставляет возможность настраивать свои компоненты при помощи аннотаций.
Зависимости от других JSR
JSR 250 зависит от JSR 175 и соответственно от Java SE 5.0
Аннотации
Аннотация | Описание |
---|---|
Generated | Обозначает данные, которые были сгенерированны |
Resource | Объявляет ссылку на сторонний ресурс, например на Базу Данных |
Resources | Контейнер для многих аннотаций Resource |
PostConstruct | Используется на методах для исполнения после Внедрения Зависимостей в экземпляр |
PreDestroy | Используется на методах для исполнения до Удаления экземпляра из контейнера |
Priority | Является индикатором, в каком порядке должны быть использованы классы. Например перехватчики используют данный параметр для определения в каком порядке им нужно исполняться |
RunAs | Определяет роль при выполнении в контейнере Java EE |
RolesAllowed | Определяет роли безопасности которым разрешен доступ к методу/ам в приложении |
PermitAll | Разрешает доступ всем ролям безопасности к аннотированному методу, всем методам в аннотированном классе |
DenyAll | Запрещает доступ всем ролям безопасности к аннотированному методу, всем методам в аннотированном классе |
DeclareRoles | Определяет роли безопасности в приложении |
DataSourceDefinition | Определяет контейнер источника данных для регистрации в JNDI. Источник данных может быть настроен при помощи общих параметров для всех источников в данной аннотации |
ManagedBean | Объявляет управляемый Bean, экземпляры которого управляются контейнером который поддерживает набор базовых служб, таких как внедрение ресурсов, обработка событий жизненного цикла и перехватчики |
Реализация
Все аннотации не относящиеся к Java EE, входящие в JSR 250, были добавлены в Java SE в версии 6 (Generated, PostConstruct, PreDestroy, Resource, Resources). Они расположены в пакете javax.annotation