2012-01-25 20 views
6

Spring beans'i RestEasy @Path sınıfına enjekte etmek mümkün mü? Bunu, Jersey ile, @ InjectParam ek açıklamasıyla yapmayı başardım, ancak başka nedenlerden dolayı, RestEasy'ye geçmem gerekiyor ve bunu yapmanın bir yolunu bulamıyorum (iyi ol 'javax.inject.Inject, ama hiçbir şey). http://www.mkyong.com/webservices/jax-rs/resteasy-spring-integration-example/Spring beans'i RestEasy'ye enjekte edin

ama hala biraz daha zarif bir şey tercih ediyorum .. enjeksiyon değil:

DÜZENLEME

Bu çözüm çalışır.

cevap

3

Basitçe Spring'in @Component ile RestEasy sınıfını açıklama ve ardından Spring'in @Autowired kullanarak fasulye enjekte edin. Yaylı konfigürasyonunuzda ek açıklama-yapılandırma ve bileşen tarama elemanlarını eklemeyi unutmayın.

+1

3.0.4.Final ile çalıştı, ResteasyDoc'u takip etmek sadece işe yaramaz. ** SpringBeanAutowiringSupport ** 'u kullanarak çalışmamın tek yolu buydu. – tonio

0

Peter'ın cevabına tamamen katılıyorum, ancak bunu yapmanın başka bir yolu var: SpringBeanAutowiringSupport'u genişleten tüm açıklamalı fasulyelerinizi (Spring bileşenleri olmayan RESTEasy veya JAX-WS) yapın.

Bu şekilde, Spring Services'ınızı bu sınıflarda @Outmanlanmış bir açıklama ile kolayca enjekte edebilirsiniz.

2

RestEasy ürününü Spring ile bütünleştiren bir çalışma örneği var, sadece spring-resteasy numaralı telefonu deneyin.

İlgili konular