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
private AppComponentFactory appComponentFactory;
public AdminTabSheet() {
}
@PostConstruct
public void init() {
// does something with appComponentFactory
}
}
配置XML:
WebConfig.java:
package myproject.spring.config;
@Configuration
@ComponentScan(basePackages = { "myproject.web.components"})
public class WebConfig {
我遵守了http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html中的所有规则:
>只能使用此批注对一个方法进行批注.
>除EJB拦截器外,该方法不能有任何参数
>方法的返回类型必须为void.
>该方法绝不能抛出已检查的异常.
>应用PostConstruct的方法可以是public,protected,package private或private.
>方法绝不能是静态的.
有任何想法吗?
最佳答案
如果没有拼写错误,我相信这是正确的
@ComponentScan(basePackages = { "myproject.web"})
因为AppComponentFactory在myproject.web.factory包中.