2010-11-09 15 views
14

Birkaç saattir bununla uğraşıyorum.Spring Java yapılandırılmış içerik için işlem yapılandırması

Spring XML yapılandırmamı tam bir Java tabanlı yapılandırmaya geçirmeye çalışıyorum.

İçerik uygulaması olarak AnnotationConfigApplicationContext kullanıyorum.

sorun benim eski XML yapılandırmasından, bu hat için bir Java eşdeğer bulma yaşıyorum: Sonuç olarak

<tx:annotation-driven transaction-manager="transactionManager" /> 

, Bahar işlemleri yönetme değil.

Java yapılandırmamda işlemler için ilgili fasulyeleri başlattım: oturum fabrikası, işlem yöneticisi, vb, ancak bu satır olmadan, işlem proxy'si kullanılmıyor, bu nedenle hiçbir işlem gerçekte mevcut değil.

Bu yüzden benim soru, bu satırı ya Java bağlam yapılandırmasına nasıl çevirebilirim ya da sorunu başka bir şekilde çözme konusunda nasıl giderim.

Herhangi bir yardım için teşekkür ederiz. Teşekkürler.

cevap

2

Yaptığım deneyimde, XML yapılandırmasını tümüyle @Bean biçimindeki bir yapılandırma ile değiştirmek pratik değil. Bazı şeyler java'da, özellikle kendi fasülye tanımlarınızda daha mantıklıdır. Ancak, <tx:annotation-driven> gibi altyapı tipi bildirimler söz konusu olduğunda, XML sözdizimi çok daha kısadır.

Sen

saf java aynı etkiyi çoğaltmak, ancak <tx:annotation-driven> gibi şeyler genellikle gerçekten dokunmak istemiyoruz karmaşık alt düzey Bahar altyapı sınıfların etkileşimleri olduğundan, hantal ve unintuitive olmak biter.

Tavsiyem - her bir Java ve XML'i kendi güçlü yönleri için kullanın ve eşleştirin. Bu yapmak çok kolay. Normal XML ApplicationContext sınıflarını tutmayı tercih ediyorum ve daha sonra <tx:annotation-driven> gibi şeylerle birlikte bu XML bağlamında @Configuration sınıfları fasulye olarak bildirmeyi tercih ediyorum.

+0

hala şimdi bu böyle hissediyorsun, 4 yıl sonra @skaffman? – GaZ

+1

Hayır, öyle düşünmüyorum. Ek açıklama tarzı, modern Spring sürümlerinde ilkbahar 3'tekinden çok daha zengindir. – skaffman

+0

Güncelleme için teşekkürler. Şüphelendiğim şey bu. Eski kodumuzu Spring 4'e güncellemeye çalışıyoruz ve bu sürecin bir parçası olarak XML konfigürasyonumuzun mümkün olduğunca çoğunu ortadan kaldırmak istiyorum (tabii ki mantıklı olduğu sürece, ama çoğu yerde bunu hissediyorum ek açıklama tabanlı bir yaklaşım daha iyi bir seçimdir). Linkte gezinirken – GaZ

İlgili konular