簡體   English   中英

春季:@PostConstruct不被調用

[英]Spring: @PostConstruct is not called

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" />

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攔截器外,該方法不得具有任何參數。
  • 方法的返回類型必須為空。
  • 該方法一定不能拋出一個檢查異常。
  • 應用PostConstruct的方法可以是公共的,受保護的,包私有的或私有的。
  • 該方法一定不能是靜態的。

有任何想法嗎?

如果沒有錯字,我相信正確的是

@ComponentScan(basePackages = { "myproject.web"})

因為AppComponentFactory位於myproject.web.factory包中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM