我正在尝试实例化构造函数可以抛出异常的bean。 我不能修改这个类(由外部团队给出)。
<bean id="myClass" class="myClass" />
myClass构造函数抛出异常。
我一直在考虑使用Singleton Pattern扩展这个类,这是我想要的行为(确保只实例化一个MyClass实例)。
错误讯息:
嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean '我的课' 在类路径资源中定义 [... / spring_applicationContext.xml]: bean的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:不能 实例化bean类 [我的课]: 构造函数抛出异常;嵌套异常是 java.lang.ExceptionInInitializerError
提前感谢您的回答
我认为问题来自于我的构造函数抛出异常的事实。
我的问题是:使用Spring,是否可以使用可能引发异常的构造函数实例化bean?
答案 0 :(得分:3)
如果bean配置文件中未指定bean作用域,则默认为singleton。你的bean myClass
是一个单身人士,你不需要再做任何事了
Spring Doc
答案 1 :(得分:1)
Spring bean默认是单身。
你应该提供更多的堆栈跟踪 - 你所展示的内容表明问题不是myClass,而是抛出异常的ClassPathXmlApplicationContext
构造函数 - 原因通常在堆栈跟踪的后面。 / p>
干杯,
答案 2 :(得分:0)
根据堆栈跟踪,看起来在创建类“myClass”的对象时,静态块或变量中存在意外错误。