Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20361|Отговор: 0

[Източник] Java анотира разликата между @PostConstruct и статични конструктори

[Копирай линк]
Публикувано на 30.07.2021 10:48:11 | | | |
Наскоро попаднах на тази анотация в @PostConstruct на фирмен проект и бях озадачен.

Преглед:

Java annotations@PostConstruct и подробни обяснения и примери за @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


След консултация, обобщението е следното:

1. Започвайки от спецификацията на Java EE5, се използват две анотации, които влияят на жизнения цикъл на сервлета, @PostConstruct и @PreDestroy, за модифициране на метода на нестатичен void(). Има два начина да се напише:

@PostConstruct

public void someMethod(){}

или

public @PostConstruct void someMethod(){}

Методът @PostConstruct modified се изпълнява, когато сървърът зареди сервлета, иСървърът ще се изпълнява само веднъж。 PostConstruct се изпълнява след конструктора и преди метода init(). Методът PreDestroy() се изпълнява след като методът destroy() е интелектуален



Освен това, орденът Конструктор, @Autowired и @PostConstruct през пролетта

Всъщност, от буквалния смисъл на инжекция на зависимости, можем да знаем, че за да се инжектира обект p в обект A, първо трябва да се генерират обекти A и обект p, преди инжекцията да може да се извърши. Така че, ако членна променлива p е анотирана @Autowried в клас A, тогава инжектирането @Autowired се случва след изпълнението на метода на конструкция на A.

Ако искате да изпълните някои операции за инициализация при генериране на обект и тези операции зависят от инжектиране на зависимост, тогава не можете да го направите в конструктора. За да направите това, можете да използвате метод @PostConstruct анотации, за да завършите инициализацията, @PostConstruct анотирани методи ще бъдат автоматично извикани след приключване на инжекцията на зависимости.

Конструктор >> @Autowired >> @PostConstruct

Пример:







Предишен:Docker инсталира Redis Visual Management Tool (redis-manager)
Следващ:Стойността auto.offset.reset на Kafka е обяснена подробно
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com