我的项目最近在新版本上升级到了Spring 5.0.6,并且我们所有的单元测试都失败了。几乎所有人都以
结尾java.lang.IllegalStateException:在bean定义上未指定bean类
我们所有的spring都是用XML配置的,并且设置了class属性。例如,使用以下bean:
<bean name ="propSetter" class="com.xxxx.yyyy.PropertySetter" />
在单元测试中,“ propSetter”仍然出现“未指定bean类”异常。否则,一切都连接良好。有没有人遇到过这样的问题,如果可以,我该怎么做才能解决?我正在使用spring-beans-5.0.6和junit-4.8.2。
我是一名新程序员,非常感谢您:)
答案 0 :(得分:0)
找到了答案。这可能对我的代码来说太具体了,或者太含糊而无法使用,但是我认为我仍然将其保留在这里...
在Spring初始化的后期处理阶段,所有bean在spring中通过以下类发送
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
方法:
受保护的字符串resolvePlaceholder(字符串,属性,整数)
每个beanClass属性都试图将其解析为一个属性,并且为空。虽然不确定到底为什么只在单元测试中发生