Java Spring:@PostConstruct未被调用

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

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:

<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"})