Mit einer kleinen Funktionsprüfung möchte ich nur die Komponenten registrieren, die ich im DI-Container verwenden möchte, und gleichzeitig vermeiden, dass "ComponentScan" alle Komponenten unter dem Paket meiner Klasse scannt, aber die "Bean-Definitionsdatei" und "New JavaConfig". Das Erstellen einer "Klasse" wurde ** mühsam **, und als ich sie in der Klasse schrieb, wollte ich die Operation mit Schwung überprüfen, sie bewegte sich.
StaticNaInnnerClassDeJavaConfig.java
@SpringBootApplication(scanBasePackages = { "undefined.package" })
@Component
public class StaticNaInnnerClassDeJavaConfig {
private final SomeComponent component;
public static void main(String[] args) {
ApplicationContext context = SpringApplication.run(StaticNaInnnerClassDeJavaConfig.class, args);
}
public StaticNaInnnerClassDeJavaConfig(SomeComponent component) {
this.component = component;
}
public static class JavaConfig {
@Bean
public SomeComponent someComponent(@Autowired Properties properties) {
return new SomeComponent(properties);
}
}
public static class SomeComponent {
private final String someParam;
public SomeComponent(Properties proeprties) {
this.someParam = properties.getProperty("someParam");
}
}
}
Recommended Posts