Özellikle, bunları yapılandırıp bunları dahil ederek yapılandırma sınıflarını paylaşmak istiyorum. Normalde bu yapardın Nerede:Spring'in @ Yapılandırma ek açıklamalarını program aracılığıyla nasıl yapılandırabilirim?
@Configuration
@Import({SharedConfiguration.class})
public class MyAppContext extends WebMvcConfigurerAdapter {
//stuff
}
@Configuration
@ComponentScan("com.example")
public class SharedConfiguration {
//stuff
}
bunu yapmak istiyorum:
@Configuration
public class MyAppContext extends WebMvcConfigurerAdapter {
public SharedConfiguration sharedConfig(){
return new SharedConfiguration("com.example");
}
//stuff
}
@Configuration
public class SharedConfiguration {
public SharedConfiguration(String package){
//tell Spring to scan package
}
}
Bunun nedeni ne paket için tarama yaparak paylaşılan bileşeni söylemek mümkün olması gerektiğidir bakmak. Farklı bunun kullanılıyor hangi proje bağlı olacaktır
DÜZENLEME:.
bazı ek fikir vermek için, bizim dış yapılandırmayı kullanarak Hazırda ve EHCache kurmak için bir genel kullanım yapılandırmasını yapmaya çalışıyorum birçok projenin kullanabileceği sağlayıcı. Bunu yapmak için kesinlikle başka yöntemlere açığım ama bu benim için en mantıklı yol gibi görünüyordu. Eminim ki Bahar'da ~ bir şeyler söyleyebildiğim, "Burada! Bahar seni başlattığında bu yolu tara!" bir ek açıklama içine kodlamak yerine.
XY problemi gibi geliyor; Daha fazla detay yardımcı olacaktır. Özellikle farklı durumlarda farklı paketleri taramanın amacı nedir? Bu profil, koşullu ve/veya otomatik yapılandırma için bir durum gibi geliyor. – chrylis
@chrylis Sorunu daha net hale getirmek için güncelledik. Kesinlikle bir XY problemi olabilir, programatik bir şekilde bir şeyler yapmaya çalışıyorum ve Spring kesinlikle çok programatik değil. – monitorjbl
Tam olarak otomatik yapılandırma yapmak istiyorsunuz. Temelde '@ Yapılandırma 'sınıflarını bulmak için SPI kullanır ve daha sonra bunları içeriğe aktarır. – chrylis