Yakın zamanda bir şirket projesinde bu nota @PostConstruct rastladım ve şaşırdım.
Eleştiri:
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:
|