Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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