我有一个Java Spring应用程序,我正在尝试理解如何注入一个Autowire bean,即使我明确地不在@import注释中使用它。我的代码如下所示:
package com.pkg.test.configuration;
@Configuration
public class MySpringBeanConfig {
@Bean
public void constructMyBean() {
...
...
}
}
这是使用Config的类
package com.pkg.test.configuration;
@Configuration
@Import({BlahClassConfig.class})
public class MySpringBeanConfig() {
@Autowired private BlahClassConfig BlahClassConfig;
@Autowired private MySpringBeanConfig MySpringBeanConfig;
@Bean
public void constructMyBean() {
...
...
}
}
我有一个类来执行包扫描:
package com.pkg.test.configuration;
@Configuration
@ComponentScan({ "com.pkg.test.configration" })
public class ApplicationConfig {
}
现在,我没有抱怨MySpringBeanConfig的第一个Autowire不存在或者说无法自动装配的错误。这在某种程度上也很好。这有什么作用吗?
答案 0 :(得分:0)
由于@ComponentScan
注释,它起作用。它会导致com.pkg.test.configuration
包扫描所有组件,配置等。因此,MySpringBeanConfig
会被找到并处理。