Java Spring:@PostConstruct未被调用
A类:Java Spring:@PostConstruct未被调用,java,spring,Java,Spring,A类: package myproject.web.factory.components; @Component public class AppComponentFactory{ } B类 package myproject.web.components; import myproject.web.factory.components.AppComponentFactory; @Component public class AdminTabSheet{ @Autowired
package myproject.web.factory.components;
@Component
public class AppComponentFactory{
}
B类
package myproject.web.components;
import myproject.web.factory.components.AppComponentFactory;
@Component
public class AdminTabSheet{
@Autowired
private AppComponentFactory appComponentFactory;
public AdminTabSheet() {
}
@PostConstruct
public void init() {
// does something with appComponentFactory
}
}
配置XML:
<context:component-scan base-package="myproject.spring" />
我遵守了以下所有规则:
- 此注释只能对一个方法进行注释李>
- 除了EJB拦截器之外,该方法不能有任何参数
- 方法的返回类型必须为void李>
- 该方法不能抛出已检查的异常
- 应用PostConstruct的方法可以是public、protected、package private或private
- 方法不能是静态的李>
有什么想法吗?如果没有打字错误,我相信正确的答案是
@ComponentScan(basePackages = { "myproject.web"})
由于
AppComponentFactory
位于myproject.web.factory
包中。可能WebConfig.java位于错误的包中?
@ComponentScan(basePackages = { "myproject.web"})