JAX-RS 2.0'ın bir amacı, CDI'nın bir araya getirilmesi ve eski @Context
'un, ortak @Inject
enjeksiyonu ile ikame edilmesiydi. Ama ben JSR 339'a bakarsak, bundan bahsedilmez. Peki, aslında CDI entegrasyonu nedir? Google Guice yerine CDI ile JAX-RS kullanmanın herhangi bir avantajı olur mu?JAX-RS 2.0'ı Guice yerine CDI/Weld ile kullanmanın avantajı?
5
A
cevap
4
@Context
hala JAX-RS 2.0 enjeksiyon yapmanın resmi yoludur.
@Inject
veya@Resource
kullanılmasını gerektiren ZORUNLUUygulamalar tetik enjeksiyon ait için: şartname ancak bir uygulama (JAX-RS 2.0 EDR 3 bölüm 10.2.5 itibaren)
@Context
yanında@Inject
faydalanmak OLABİLİR ifade etmez JAX-RS açıklamalı alanları veya özellikleri. Gerçekleştirmeler, bu tür kullanımı destekleyebilir ancak kullanıcıları taşınabilirlik hakkında uyarmalıdır.
nedenle JAX-RS 2.0 tüm uygulamaları @Inject
desteklediğini kesin değildir ve bir JAX-RS 2.0 uygulamasını değiştirmek istiyorsa uyumsuzluk ortaya çıkabilecek.
@Inject
desteği var sadece görünüyor.
Ben @Inject
kullanarak yerine @Context
ait bu tek JAX-RS web hizmetinde olurdu olmayan JAX-RS kaynakların tümünü @Inject
's yanında daha tutarlı olmasıdır avantajı sanırım.