我正在嘗試使用Spring Framework IoC容器創建一個類 ThreadPoolExecutor.CallerRunsPolicy的實例。在Java中,我會做這種方式...如何從靜態內部類構造函數創建Spring bean?
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
...
RejectedExecutionHandler rejectedExecutionHandler = new ThreadPoolExecutor.CallerRunsPolicy();
但是,當我嘗試做春季等價,它拋出一個CannotLoadBeanClassException。
<beans>
<bean class="java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy"/>
</beans>
更普遍的:在Spring的ApplicationContext XML,你怎麼能叫一個靜態內部類的構造函數?
重新閱讀原始問題和代碼示例我意識到,drew並不試圖調用靜態方法;只是嵌套類的構造函數。 '$'語法在這裏使用是正確的,我以前使用過這個。 – 2010-09-29 04:25:11
這確實奏效,謝謝Ankit。 Spring文檔在這裏:http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-class,它說「爲一個靜態內部類配置一個bean定義,你必須使用內部類的二進制名稱。「 – Drew 2010-09-30 02:16:07