当前位置: 代码迷 >> J2EE >> 使用SSH框架,出现BeanCreationException异常,纠结了两天了,求大神指导
  详细解决方案

使用SSH框架,出现BeanCreationException异常,纠结了两天了,求大神指导

热度:63   发布时间:2016-04-17 23:15:51.0
使用SSH框架,出现BeanCreationException错误,纠结了两天了,求大神指导!
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceActionBean' defined in ServletContext resource [/WEB-INF/bean.xml]: Cannot resolve reference to bean 'serviceDao' while setting bean property 'serviceDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDao' defined in ServletContext resource [/WEB-INF/bean.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactory' of bean class [com.swu.dao.impl.ServiceDao]: Bean property 'sessionFactory' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDao' defined in ServletContext resource [/WEB-INF/bean.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactory' of bean class [com.swu.dao.impl.ServiceDao]: Bean property 'sessionFactory' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactory' of bean class [com.swu.dao.impl.ServiceDao]: Bean property 'sessionFactory' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

bean.xml 

其他层代码:



------解决思路----------------------
引用:
Quote: 引用:

而且你的 serviceAction 应该加上 scope = 'prototype',否则存在线程安全问题
请教一下scope = 'prototype'会存在哪些线程安全问题。

Sping容器管理的bean,默认是单例的,那么在serviceAction 里面有一个共享属性Service,多线程访问的时候Service的属性就可能同时被多个线程修改,所以会破坏了数据的完整性
加上scope = 'prototype',就是原型模式,也就相当于每次调用的时候new一个对象了
另外sessionFactory的配置是怎样的
------解决思路----------------------
引用:
困扰我一个星期的问题终于解决了,的确是因为单例模式造成的,加上 scope='prototype' 属性之后就不会再报错了,7楼大神,谢谢了。

谢谢不给分吗? 哥是新手,还没得过分呢
  相关解决方案