spring3升级到spring4.3
Posted 快乐崇拜234
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring3升级到spring4.3相关的知识,希望对你有一定的参考价值。
正文在下面,先打个广告:
项目中有一个外购的老的系统,使用的spring3,太老了,也不符合公司安全要求,固将其升级为spring4。这里就记录一下修改内容。
升级spring版本
<spring.version>3.2.18.RELEASE</spring.version>
升级到
<spring.version>4.3.29.RELEASE</spring.version>
升级xml文件中的xsd版本
如http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
升级到http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
ContentNegotiatingViewResolver配置修改
spring3的配置:
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="text/html" />
<property name="mediaTypes">
<map>
<entry key="html" value="text/html;charset=UTF-8" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
spring4 的配置:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="contentNegotiationManager"
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="true"/>
<property name="ignoreAcceptHeader" value="true"/>
<property name="useJaf" value="false"/>
<property name="defaultContentType" value="text/html"/>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html"/>
<entry key="json" value="application/json;charset=UTF-8"/>
<entry key="xml" value="application/xml;charset=UTF-8"/>
</map>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="0"/>
<property name="contentNegotiationManager" ref="contentNegotiationManager"/>
<!-- <property name="viewResolvers">-->
<!-- <list>-->
<!-- <ref bean="velocityViewResolver"/>-->
<!-- </list>-->
<!-- </property>-->
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
</list>
</property>
</bean>
修改jackjson配置
spring 3的配置
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
spring4的配置
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
替换 spring jdbc 的 queryForInt 方法
spring4中废弃了queryForInt 方法。需要使用org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate#queryForObject(java.lang.String, java.util.Map<java.lang.String,?>, java.lang.Class<T>)
来代替。
如:
int count=namedParameterJdbcTemplate.queryForObject(sql,params, Integer.class);
以上是关于spring3升级到spring4.3的主要内容,如果未能解决你的问题,请参考以下文章
spring3升级到spring4通用异常处理返回jsonp多了/**/的解决办法
升级到 Spring 4.3.0,静态 JS 文件现在作为 'application/octet-stream' 而不是 Spring 4.2.6 中的 'application/javascript