使用Spring4时, 运行时出现找不到MappingJacksonHttpMessageConverter的情况

启动项目报错:

[org.springframework.web.context.ContextLoader]Context initialization failed
org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name
'org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0' ... ... Caused by: org.springframework.beans.factory.CannotLoadBeanClassException:
Cannot find
class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for bean with name 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#2aa148c0' ... ... Caused by: java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ... ...

原因是Spring 3.x 和4.X处理JSON的一个类不一样,而这个东西又配置在xml文件中,所以编译时又无法发现

spring3.x是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

spring4.x是org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

1. 查找替换所有XML中名字

2. 同时加入最新的FastJackson依赖

<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.5</version>
</dependency>
<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.5</version>
</dependency>
<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.5</version>
</dependency>

问题解决!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring和Hibernate的运行时,有可能会出现java.lang.StringIndexOutOfBoundsException异常。这个异常表示字符串索引超出范围,也就是访问了一个索引超出字符串长度的位置。 造成这个异常的原因可能有几种情况。首先,可能是在访问字符串,没有正确检查索引是否超出了字符串的长度。比如,当使用charAt方法,没有判断索引是否小于字符串的长度。这可能是由于不正确的索引计算或者字符串长度改变导致的。 另外一个可能的原因是在处理字符串,没有正确处理索引为负数的情况Java中的字符串索引是从0开始的,所以如果索引为负数,就会出现StringIndexOutOfBoundsException。 在Spring和Hibernate中,这个异常通常是由开发人员编程错误引起的。解决这个问题的关键是仔细检查代码,确保在访问字符串,索引没有超出字符串的长度范围,并且处理索引为负数的情况。 比如,在使用substring方法,应该确保起始索引和结束索引都在字符串的范围内。可以使用条件语句来检查索引,并在发现索引超出范围进行相应的处理,比如给出错误提示或者调整索引的值。 在调试过程中,可以使用调试工具来跟踪出现异常的位置,并通过打印日志或者断点来检查索引的值,以确定是否超出了字符串长度的范围。 总之,java.lang.StringIndexOutOfBoundsException异常在Spring和Hibernate的运行时出现的主要原因是未正确处理字符串索引的情况。通过仔细检查代码,确保索引没有超出字符串长度的范围,并处理索引为负数的情况,可以解决这个异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值