Ben aşağıdaki sınıf tanımlar. SomeService
ve AnotherService
'u MyServletListener
içine uygulayan fasulyeleri enjekte etmek istiyorum, bu mümkün mü? Böylebağımlılık enjekte servlet dinleyici
12
A
cevap
23
şey çalışmalıdır:
public class MyServletListener implements ServletContextListener, HttpSessionAttributeListener, HttpSessionListener {
@Autowired
private SomeService someService;
@Autowired
private AnotherService anotherService;
public void contextInitialized(ServletContextEvent sce) {
WebApplicationContextUtils
.getRequiredWebApplicationContext(sce.getServletContext())
.getAutowireCapableBeanFactory()
.autowireBean(this);
}
...
}
telsizinde sonra beyan edilmelidir Bahar en ContextLoaderListener
web.xml
yılında.
10
Biraz daha kısa ve daha basit SpringBeanAutowiringSupport
sınıfını kullanmaktır. Yapmanız gereken tek şey daha
şudur:
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
Yani axtavt gelen örneği kullanarak:
public class MyServletListener implements ServletContextListener, HttpSessionAttributeListener, HttpSessionListener {
@Autowired
private SomeService someService;
@Autowired
private AnotherService anotherService;
public void contextInitialized(ServletContextEvent sce) {
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
}
...
}
+0
Bu daha basit bir yol ve mükemmel çalışıyor. – Calabacin
İlgili konular
- 1. Guir servlet enjekte
- 2. Nesnenin içine bağımlılık enjekte edin
- 3. Sunucuda bağımlılık enjeksiyonu nasıl kullanılır?
- 4. Angularjs modülünün başlatılması sırasında bağımlılık enjekte edilir
- 5. Dinleyici?
- 6. Bağımlılık enjeksiyonunda hançer2 kullanıldığında süper sınıf enjekte edebilir miyim?
- 7. Köşeli 2 - Bir dekoratör fabrikasına bağımlılık enjekte edin
- 8. Guice - Statik yardımcı yöntemlerle bir sınıfa bağımlılık enjekte edin
- 9. ExtJS dinleyici
- 10. AsyncTask, Dinleyici
- 11. Animasyon Dinleyici
- 12. Bağımlılık Enjeksiyon
- 13. Bahar MVC web uygulamasında Bağımlılık Enjeksiyonu
- 14. JasperReports: servlet
- 15. Servlet çalışmıyor?
- 16. Çözünürlükte angularjs bağımlılık enjeksiyonu
- 17. MVVMC ve Bağımlılık Enjeksiyonu Uygulaması
- 18. Bir Servlet Konteyneri olmadan CDI Kullanma
- 19. Tomcat'tan nesnelerin aktarılması Dinleyici için Javascript işlevi
- 20. İyonik Bildirimler Dinleyici, uygulama
- 21. Actionbar Yukarı Düğme Dinleyici
- 22. Test dinleyici 5.1
- 23. EF: Varlık Bağımlılık Enjeksiyon
- 24. Bağımlılık Modüllere Enjeksiyon
- 25. Groovy Bağımlılık Enjeksiyon
- 26. React Native modüllerindeki Bağımlılık Enjeksiyonu
- 27. Java EE 6 Kurumsal Uygulama: Uyarı "Tatminsiz bağımlılık: bakla, enjeksiyon noktasıyla eşleşmiyor" bir fasulye enjekte ederken
- 28. ASP.NET 5 bağımlılık enjeksiyonu,
- 29. Açısal 1.5 bileşen bağımlılık enjeksiyonu
- 30. Backbone js model bağımlılık enjeksiyonu
@Don: '(ServletContextEvent) contextInitalized' [ 'ServletContextListener'] (http tanımlanır: //download.oracle.com/docs/cd/E17802_01/products/products/servlet/2.3/javadoc/javax/servlet/ServletContextListener.html#contextInitialized(javax.servlet.ServletContextEvent) – ig0774
Bu harika çalışıyor! – Nico
Önemli: Web.xml'de ContextLoaderListener, MyServletListener'den önce yüklenmelidir. – Nico