Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20361|Yanıt: 0

[Kaynak] Java, @PostConstruct ve statik yapıcılar arasındaki farkı anlar.

[Bağlantıyı kopyala]
2021-7-30 10:48:11 tarihinde yayınlandı | | | |
Yakın zamanda bir şirket projesinde bu nota @PostConstruct rastladım ve şaşırdım.

Eleştiri:

Java annotations@PostConstruct ve detaylı açıklamalar ile örnekler @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Danışmanlık sonrası özet şu şekildedir:

1. Java EE5 spesifikasyonundan başlayarak, servletin yaşam döngüsünü etkileyen iki açıklama, @PostConstruct ve @PreDestroy, statik olmayan void() yöntemini değiştirmek için kullanılır. Bunu yazmanın iki yolu vardır:

@PostConstruct

public void someMethod(){}

veya

public @PostConstruct void someMethod(){}

@PostConstruct modifiye edilmiş yöntem, sunucu servleti yüklediğinde çalışır veSunucu tarafından sadece bir kez çalıştırılır。 PostConstruct, yapıcıdan sonra ve init() yönteminden önce çalıştırılır. PreDestroy() yöntemi, destroy() yöntemi entelektüel olduktan sonra çalıştırılır



Ayrıca, ilkbaharda Constructor, @Autowired ve @PostConstruct sırası

Aslında, bağımlılık enjeksiyonunun kelimesi anlamından, nesne p'yi nesne A'ya enjekte etmek için, enjeksiyon yapılmadan önce nesne A ve nesne p'nin oluşturulması gerektiğini bilebiliriz. Yani, bir üye değişkeni p sınıf A'da @Autowried notalanmışsa, A'nın yapı yöntemi uygulandıktan sonra @Autowired enjeksiyon gerçekleşir.

Bir nesne oluştururken bazı başlatma işlemlerini tamamlamak istiyorsanız ve bu başlatma işlemleri bağımlılık enjeksiyonuna bağlıysa, bunu yapıcıyla yapamazsınız. Bunu yapmak için, başlatmayı tamamlamak için bir yöntem @PostConstruct notasyonlar kullanabilirsiniz @PostConstruct bağımlılık enjeksiyonu tamamlandıktan sonra annotasyonlu yöntemler otomatik olarak çağrılacaktır.

Yapımcı >> @Autowired >> @PostConstruct

Örnek:







Önceki:Docker Installs Redis Visual Management Tool (redis-manager)
Önümüzdeki:Kafka'nın auto.offset.reset değeri ayrıntılı olarak açıklanmıştır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com