将spring从3.1升级到3.2启动tomcat出现如上错误,
仔细检查过web.xml中关于spring配置引入,spring-mvc配置引入都没有问题,
以及spring配置文件读取方式,包括监听参数配置也是对的,
关于引入和监听web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd "> <!-- 注解 --> <!-- 注解映射器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> 注解适配器 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean> --> <!-- 使用mvc的注解驱动可以代替 上面声明的两个适配器 映射器 ,开发中建议使用该种方式--> <mvc:annotation-driven></mvc:annotation-driven> <context:component-scan base-package="com.richard.ssm.controller"></context:component-scan> <!-- 非注解 --> <!-- 处理器适配器 --><!-- 以bean的name属性值作为url --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> <!-- 另一个处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean> <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 配置 ItemController1--> <bean id="ItemController1id" name="/queryitem.action" class="com.richard.ssm.controller.ItemController1"></bean> <!-- 配置 ItemController2--> <bean id="ItemController2id" name="/queryitem2.action" class="com.richard.ssm.controller.ItemController2"></bean> <!-- 简单的URL映射 对同一个Controller 多个action做映射配置 多个url映射可以并存--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <!-- 对itmescontroller1进行url映射 --> <prop key="/queryitem11.action">ItemController1id</prop> <prop key="/queryitem12.action">ItemController1id</prop> <prop key="/queryitem21.action">ItemController2id</prop> </props> </property> </bean> <!-- 解析jsp的视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean> </beans>
换回成3.1又没有问题,换成3.2又不行,查看编译环境用的是1.8,将1.8降为1.7,问题解决,服务启动正常,
也就是说spring 3.2不支持1.8编译环境,解决办法就是降为1.7编译环境
关于编译环境配置如图:
spring官网说了,要使用java8,只支持spring 4.X以上版本,而spring的使用最低java要求java5及以上,
如果出现例外,那就例外说了,比如一开始spring 3.1就可以在java8上编译。