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

Вид: 16470|Ответ: 0

[Источник] Java annotations@PostConstruct и подробные объяснения и примеры @PreDestroy

[Скопировать ссылку]
Опубликовано 04.04.2019 16:21:12 | | | |
Краткое введение

Java EE5 вводит две аннотации — @PostConstruct и @PreDestroy, которые действуют на жизненный цикл сервлета, позволяя выполнять пользовательские операции до инициализации и до его уничтожения. В этой статье в основном объясняется @PostConstruct.

Инструкции по использованию API

Ниже приведены инструкции по использованию @PostConstruct API:

Аннотации PostConstruct применяются к методам, которые необходимо выполнить после завершения инъекции зависимостей для инициализации. Этот метод необходимо вызвать до того, как класс будет загружен в сервис. Все классы, поддерживающие инжекцию зависимостей, должны поддерживать эту аннотацию. Даже если класс не запрашивает инъекцию ресурсов, необходимо вызвать метод, аннотированный PostConstruct. Есть только один способ аннотировать с помощью этой аннотации. Метод применения аннотаций PostConstruct должен соответствовать всем следующим критериям: метод не должен иметь никаких параметров, если только в случае перехватчика EJB, определённого спецификацией EJB, тогда он будет включать объект InvocationContext; Тип возврата метода должен быть пустым; Метод не должен выдавать отмеченное исключение; Метод применения PostConstruct может быть публичным, защищённым, упаковочным или приватным; Метод не может быть статичным, кроме клиента приложения; Метод может быть окончательным; Если метод выдает непроверенное исключение, то класс не должен помещаться в сервис, если только это не EJB, способный работать с этим исключением и восстанавливать его.
Её можно кратко изложить следующим образом:

  • Есть только один способ аннотировать с помощью этой аннотации;
  • Аннотированный метод не должен иметь никаких параметров;
  • Аннотированный метод возвращает значение void;
  • Аннотированный метод не должен создавать отмеченное исключение;
  • Аннотированный метод должен быть нестатичным;
  • Этот метод применяется только один раз;


Блок-схема исполнения сервлетов

Добавление двух аннотаций позволит сервлету выполнить блок-схему только так:



Во время процесса инстанциации конкретного зерна аннотированный метод @PostConstruct называется после метода конструкции и до метода init.

Пример

Исполняемые методы, написанные на базе Spring boot, можно найти на github:https://github.com/HappySecondBrother/example

Метод UserService (предоставляет кэшированные данные):

Метод BusinessService, вызывающий UserService по @PostConstruct:

Результаты исполнения:

Применение проекта

В project@PostConstruct основной сценарий приложения — загрузка некоторых кэшных данных при инициализации сервлета.

Примечания:

Использование этой аннотации влияет на время начала сервиса. Сервер сканирует все файлы в WEB-INF/classes и все jar-пакеты в WEB-INF/lib при запуске.





Предыдущий:Невозможно ввести @Autowired в Listener
Следующий:Высокопроизводительный китайский PDF mysql 3-го издания
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com