Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20361|Odpowiedź: 0

[Źródło] Java notuje różnice między konstruktorami @PostConstruct a statycznymi

[Skopiuj link]
Opublikowano 2021-7-30 10:48:11 | | | |
Niedawno natknąłem się na tę adnotację podczas @PostConstruct projektu firmowego i byłem zdezorientowany.

Recenzja:

annotations@PostConstruct Java oraz szczegółowe wyjaśnienia i przykłady @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Po konsultacjach streszczenie przedstawia się następująco:

1. Począwszy od specyfikacji Java EE5, do modyfikacji metody niestatycznej void() używa się dwóch adnotacji wpływających na cykl życia servleta, @PostConstruct i @PreDestroy. Istnieją dwa sposoby pisania:

@PostConstruct

public void someMethod(){}

lub

public @PostConstruct void someMethod(){}

Metoda @PostConstruct zmodyfikowana uruchamia się, gdy serwer ładuje serwlet, orazZostanie wykonany tylko raz przez serwer。 PostConstruct wykonuje się po konstruktorze i przed metodą init(). Metoda PreDestroy() wykonywana jest po tym, jak metoda destroy() jest intelektualna



Dodatkowo, na wiosnę pojawiły się kolejności Konstruktor, @Autowired i @PostConstruct

W rzeczywistości, z dosłownego sensu wstrzyknięcia zależności, możemy wiedzieć, że aby wstrzyknąć obiekt p do obiektu A, najpierw trzeba wygenerować obiekt A i obiekt p, zanim wstrzyknięcie będzie mogło zostać wykonane. Jeśli zmienna członkowa p jest anotowana @Autowried klasy A, to @Autowired wstrzyknięcie następuje po wykonaniu metody konstrukcyjnej A.

Jeśli chcesz wykonać operacje inicjalizacji podczas generowania obiektu, a te operacje zależą od wstrzyknięcia zależności, to nie możesz tego zrobić w konstruktorze. Aby to zrobić, możesz użyć metody @PostConstruct adnotacjami, aby zakończyć inicjalizację, @PostConstruct metody adnotowane będą automatycznie wywoływane po zakończeniu wstrzykiwania zależności.

>> @Autowired >> @PostConstruct konstruktora

Przykład:







Poprzedni:Docker instaluje Redis Visual Management Tool (redis-manager)
Następny:Wartość auto.offset.reset Kafki jest szczegółowo wyjaśniona
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com