2011-05-06 13 views

cevap

70

Evet, bu doğru.

sınıf hizmet tabakasına aitse sen @Service yerine

ile açıklama Fakat bu ek açıklamalar tespit edilebilmesi için de, sen applicationContext.xml bu çizgiyi yerleştirmeniz gerektiğini akılda olmasını isteyebilirsiniz:

<context:component-scan base-package="com.yourcompany" /> 

Tektonlar hakkında - bahar fasulyeleri tümü tekil olarak kapsam dahilindedir. Aklınızda bulundurmanız gereken tek şey, durumu alan değişkenlerine kaydetmemenizdir (yalnızca bağımlılıkları tutmalıdırlar). Böylece uygulamanız iş parçacığı olacak ve her seferinde yeni bir fasulye örneğine ihtiyacınız olmayacak. Başka bir deyişle, fasulyeleriniz vatansız.

+0

@Component ve @Service ek açıklamaları vb. Kullanırken, Singletons oluşturduğum anlamına gelir, eşzamanlılık sorunlarına girmeyecek miyim? Benim newbie fikri için ApplicationContext boyunca kullanılan bir fasulye ile sonuçlanacak, böylece eşzamanlı kullanıcılar tek bir fasülye referans alacaktır. Yoksa bir şey mi özlüyorum? – Marco

+2

@Marco (herhangi bir durumunuz yoksa (bahar değişkenlerinden farklı değişkenler), eşzamanlılık sorunları oluşmaz. – Bozho

+0

"istediğiniz" her seferinde yeni bir fasülye örneği istersiniz veya her seferinde yeni bir fasülye örneği "alışkanlık" demezsiniz? – Harshana

3

Varsayılan olarak - Evet. Ancak, @Scope ek açıklamasını kullanarak bu davranışı geçersiz kılabilirsiniz. Ancak, bu davranışı @Scope ek açıklamasını kullanarak geçersiz kılabilirsiniz. Örneğin: @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

İlgili konular