ss2H框架常遇到的错误记录

来源:互联网 发布:中国原创服装品牌 知乎 编辑:程序博客网 时间:2024/04/30 15:16

一、

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activityServiceImp' defined in file [E:\Workspaces\.metadata\.me_tcat7\webapps\OldArticleSwap\WEB-INF\classes\com\oas\serviced\imp\ActivityServiceImp.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.oas.serviced.imp.ActivityServiceImp]: Constructor threw exception; nested exception is java.lang.NullPointerException

解决方案:在activityServiceImp的@service下添加@Scope("prototype")【@Scope("prototype")为bean的作用域】


二、

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcBaseDao': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defined

问题:没有找到bean。

解决方案:有可能,1、没有<bean id="jdbcBaseDao" class="com.oas.action.JdbcBaseDao" />,2、<bean>里的id的大小写问题,创建对象这个对象的名字要与这个id名字一模一样)因为依赖注入默认把类名的第一个字母默认为小写。


三、

程序完成保存任务,没有报任何错误,getHibernateTemplate().save();但是数据没添加到数据库里。

解决办法:在hibernate.cfg.xml里面加入 <property name="connection.autocommit">true </property>

如果还是不能解决问题,那你要注意下antlr.jar 这个jar包是hibernate把hql转换成sql的必备包!


四、org.hibernate.LazyInitializationException: could not initialize proxy - no Session

总结:原因是hibernate的session已经关闭,集合没有被初始化。在hibernate中:hibernate3 默认支持延迟加载(lazy="proxy"我们可以把proxy看作是true),hibernate2 默认立即加载 (lazy="false")。

      在hibernate3中,所有的实体设置文件(user.hbm.xml)中的lazy属性都被默认设成了true,就是当这个类没有被调用时,延时加载,导致了以上情况的发生,在配置文件中将lzay属性设为false就可以了。

解决方案:在实体的xml的<class name="com.oas.entity.User" table="TABOAS_USER" schema="SUOAS" lazy="false" >添加azy="false"


五、

java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)

........

java.lang.NoClassDefFoundError: javax/persistence/Entity

........

解决方案:添加hibernate-jpa-2.0-api-1.0.1.Final.jar包


Unable to instantiate Action, com.bywx.action.WeiXinApi,  defined for 'WeiXinApi' in namespace '/'com.bywx.action.WeiXinApicom.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:318)com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)
  解决方案

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>



0 0
原创粉丝点击