升级Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些问题及解决
2013-01-25 11:29
549 查看
升级Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些问题及解决
Spring3.1RC2支持
1. Quartz2
2. Hibernate4,
3. New HandlerMethod-based Support Classes For Annotated Controller Processing
4. Consumes and Produces @RequestMapping Conditions
5. Working With URI Template Variables In Controller Methods
6. Validation For @RequestBody Method Arguments //and so on....
7. Spring MVC 3.1 的annotation可以参看下http://starscream.iteye.com/blog/1098880
Hibernate 4可以查看http://community.jboss.org/wiki/HibernateCoreMigrationGuide40
下面主要说一下我在升级过程中遇到的一些问题及解决办法。
l Maven的repository始终无法升级到SpringRC2,可能服务器有问题吧,目前暂时是从官方下载的整个SpringRC2的zip包。版本号是:3.1.0.RC2
l Hibernate可以从repository中升级到4.0.0.CR7,新增的依赖包有jandex-1.0.3.Final.jar,jboss-logging-3.1.0.CR2.jar,jboss-transaction-api_1.1_spec-1.0.0.Final.jar。
l
Quartz升级到2.1.1,Ehcache-core升级到2.5.0
l Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。所以以前的Dao需要改写,直接调用Hibernate 的Session进行持久化。
l Spring的配置:
sessionFactory从org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean换成org.springframework.orm.hibernate4.LocalSessionFactoryBean
l Spring的配置:
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>改为
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
EhCacheRegionFactory使用配置:
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
l 使用Hibernate所有的openSession()改为getCurrentSession()
l Spring 的配置:Hibernate transactionManager从3改为4,如下:
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
l Spring @ResponseBody输出是乱码的问题:原来使用的是:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
改为:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name = "messageConverters">
<list>
<bean
class = "org.springframework.http.converter.StringHttpMessageConverter">
<property
name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean
class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property
name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
这样比每个Controller都加上@RequestMapping(value = "/showLeft", method = RequestMethod.GET)
produces = "text/plain; charset=utf-8"方便的多。
l Blob,以前配置:
@TypeDefs({@TypeDef(name="clob",typeClass=ClobStringType.class),@TypeDef(name="blob",typeClass=BlobByteArrayType.class)})
@Lob
@Type(type="blob")
public byte[] getPic() {
return pic;
}
现在改为:
@Lob
public byte[] getPic() {
return pic;
}
简单很多。
Spring3.1RC2支持
1. Quartz2
2. Hibernate4,
3. New HandlerMethod-based Support Classes For Annotated Controller Processing
4. Consumes and Produces @RequestMapping Conditions
5. Working With URI Template Variables In Controller Methods
6. Validation For @RequestBody Method Arguments //and so on....
7. Spring MVC 3.1 的annotation可以参看下http://starscream.iteye.com/blog/1098880
Hibernate 4可以查看http://community.jboss.org/wiki/HibernateCoreMigrationGuide40
下面主要说一下我在升级过程中遇到的一些问题及解决办法。
l Maven的repository始终无法升级到SpringRC2,可能服务器有问题吧,目前暂时是从官方下载的整个SpringRC2的zip包。版本号是:3.1.0.RC2
l Hibernate可以从repository中升级到4.0.0.CR7,新增的依赖包有jandex-1.0.3.Final.jar,jboss-logging-3.1.0.CR2.jar,jboss-transaction-api_1.1_spec-1.0.0.Final.jar。
l
Quartz升级到2.1.1,Ehcache-core升级到2.5.0
l Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。所以以前的Dao需要改写,直接调用Hibernate 的Session进行持久化。
l Spring的配置:
sessionFactory从org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean换成org.springframework.orm.hibernate4.LocalSessionFactoryBean
l Spring的配置:
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>改为
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
EhCacheRegionFactory使用配置:
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
l 使用Hibernate所有的openSession()改为getCurrentSession()
l Spring 的配置:Hibernate transactionManager从3改为4,如下:
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
l Spring @ResponseBody输出是乱码的问题:原来使用的是:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
改为:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name = "messageConverters">
<list>
<bean
class = "org.springframework.http.converter.StringHttpMessageConverter">
<property
name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean
class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property
name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
这样比每个Controller都加上@RequestMapping(value = "/showLeft", method = RequestMethod.GET)
produces = "text/plain; charset=utf-8"方便的多。
l Blob,以前配置:
@TypeDefs({@TypeDef(name="clob",typeClass=ClobStringType.class),@TypeDef(name="blob",typeClass=BlobByteArrayType.class)})
@Lob
@Type(type="blob")
public byte[] getPic() {
return pic;
}
现在改为:
@Lob
public byte[] getPic() {
return pic;
}
简单很多。
相关文章推荐
- 关于spring升级到4.3.12 hibernate升级到4.3 遇到的一些问题和解决方法
- Hibernate | Spring JPA | MySQL 使用过程遇到的一些问题
- Hibernate | Spring JPA | MySQL 使用过程遇到的一些问题
- WebLogic 上部署Spring应用遇到的一些问题的解决
- evc升级到vs2005遇到的一些问题以及解决的方法
- Spring4.1.1升级到4.3.9遇到的问题与解决方法
- Mybatis+SpringMVC+注解事务遇到的一些问题及解决
- Spring-hibernate开发时遇到 Could not obtain transaction-synchronized Session for current thread的问题解决
- spring2.5升级到spring4.2过程中遇到的一些问题记录
- hibernate在操纵oracle数据库时遇到的一些问题和解决办法
- 升级OSX High Sierra 10.13遇到一些问题及解决方法
- springmvc + hibernate+ postgresql 遇到的问题解决方法和总结
- flex 整合spring,hibernate遇到的一些问题
- hibernate整合spring开发的时候遇到的一些小问题
- 【原创】越狱以后的iPhone从4.3.3升级到5.0.1时遇到的一些问题的解决办法总结
- 升级spring和hibernate到4遇到的问题总结
- java+hibernate开发时遇到的一些问题及解决办法
- 关于JAVA MAP中经常遇到的一些问题及解决方法
- 11.29编程中遇到的一些问题以及解决办法
- 项目一遇到的一些问题及其解决方法