Bir Rest API'si olarak görev yapan bir Spring 3 projem var ve günlüğe kaydetme amacıyla yönetilmeyen bir sınıfa bağladığım bir bordürünü bağlamak istedim.Spring 3, yönetilmeyen sınıflarda fasulye enjekte etmek için yapılandırılabilir ek açıklama riskleri var mı?
Birçok farklı şeyi denedikten sonra, yönetilmeyen sınıfımı @Configurable
ek açıklamalarıyla işaretlemiştim.
gibi:
@Configurable
public class ClassNotManagedBySpring {
@Autowired
@Qualifier("myBean")
private MyBean myBean;
}
@Service("myBean")
public class MyBean {
@Autowired
@Qualifier("someOtherBean")
private SomeOtherBean someOtherBean;
}
Ve sonra benim beans.xml içinde:
<context:spring-configured/>
Yani şimdi en, 3'ü hariç tüm benzer bir şey bir 6 sınıflarını olduğunu ClassNotManagedBySpring.java
diyelim İlkbaharda yönetiliyor çünkü @Component
ek açıklamasına sahipler.
Ancak, bu sınıflardan 6 tanesinin hepsinin @Autowire
MyBean.java
'a ihtiyacı vardır ve yalnızca bazılarının @Configurable
ek açıklamalarına gereksinimi vardır.
Not: Daha önce başka bir amaç için daha önce bu uygulamada AspectJ'i kullanmıştım.
Yay uygulamamdaki tüm ani kablolama yaylı bağımlılıkların yönetilmeyen sınıflara bu şekilde nasıl bir risk getirdiğini bilmek istiyorum.
Performans sorunları olabilir mi? Çalışma zamanında hataların riskleri?
Bu, bir yay yönetimli kuru fasulye ile yönetilmeyen bir sınıfa bağlanmanın en iyi yolu değilse, nedir?
Kapta kurulan çekirdeklerin yanı sıra, ilkbaharda yönetilmeyen sınıflarda aynı yaylı fasulyeyi kullanmak istersem ne olur? –
Bu, 'Yapılandırılabilir' işlevini kullanmaktır. –
Hmm, şimdi bunu yaptığımdan beri, yapılandırılmış otomatik kablo olarak benim açıklamam olarak eklediğim sınıflar benim bağımlılığım iyi, ve sınıflar şu şekilde açıklamalı: @Configurable (autowire = Autowire.BY_TYPE, preConstruction = true), ancak şimdi diğer sınıflarımda Yapılandırılabilir ve bahar tarafından fasulye olarak yönetilen yok, aşağıdakileri olsun: –