您的位置:首页 > 编程语言 > Java开发

Spring mvc 框架总体搭建过程异常总结

2014-10-02 21:54 162 查看
Spring mvc 框架总体搭建过程异常总结

今天下午总算有个开头了,把Java1234小峰老师的spring视频看完了,受益良多。

今天照着搭建自己的工程,使用的spring mvc 框架,整合过程颇费一番心思啊,各种错误,不过还好,一切顺利,把异常收集起来将是一份财富。

第一个异常是context 上下文不能初始化,spring的监听器启动不了,于是查web.xml是否有错,但是没发现,百度了一下,发现有些spring mvc的jar包和spring本身的jar包不同,因此,加了几个spring的核心包后,报出来aspectjweaver和aspect不能兼容问题,百度一下,果断采用下面的方法:

删除aspectjweaver.jar和aspect.jar

加入aspectjweaver-1.6.9.jar和aspectj-1.6.10.jar



第二个异常是在表字段映射问题上,在查找Hibernate自动映射表的问题上,下面这段语句则是至关重要的:

<prop key="hibernate.hbm2ddl.auto">update</prop>


在项目自动启动的时候,该语句会扫描entity类,并在数据库中创建表,如果表更改了,则更新,否则不更新,具体的以后再说。

网上说Hibernate在3.5之前的@ManyToMany注解与JoinTable和joinColumn没有冲突,在3.5之后就冲突了,因此将mappedBy删去,不会影响Hibernate自动映射表。



hibernate版本更新了 mappedBy和JoinTable,joincolumn冲突

解决方法:将mappedBy删除

@ManyToMany( mappedBy="",cascade=CascadeType.ALL,fetch=FetchType.LAZY)
    @JoinTable(name="EP_ROLE_POWER",
    	joinColumns=@JoinColumn(name="powerID"),   	 inverseJoinColumns=@JoinColumn(name="roleID")
    )


第三个异常,到这个异常了,说明没有什么大的阻碍了,

下面这个异常明显说是字段重复,将entity类里的重复字段删去即可。

Caused by: org.hibernate.MappingException: 
Repeated column in mapping for entity: cn.com.hrManager.entity.EP_Stuffinfo column: 
stuffId (should be mapped with insert="false" update="false")


下面这个解决方案出现在第二个异常上,下面两个注解应该使用了mappedBy属性了。

<many-to-many,many-to-one

因为many端已经受控了,many端不能自己做更新、插入操作,必须由控制端来操作。

可以把many端的映射定义去掉就可以,就不用增加这2个配置了。



另外还有一个异常由于在spring的XML配置上比较乱而产生的,在spring整合Hibernate中,需要配置sessionFactory,因此需要一个数据源,当数据源出现重复的时候也会报异常:

<property name="dataSource">  
            <ref bean="dataSource" />  
 </property> 
<property name="dataSource" ref=”dataSource”></property>


当配置中有上面两个properties的时候会出现下面的异常:

Configuration problem: Multiple 'property' definitions for property 'dataSource'

所以要将多余的删去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: