我正在尝试使用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