StringMVC项目启动时报错:
由于小白今天是刚学的非注解开发,所以处理器映射器采用的是SimpleUrlHandlerMapping, 然而一切准备就绪后,启动项目加载配置文件时,后台报错,主要报错信息如下
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.web.reactive.handler.SimpleUrlHandlerMapping#0’ defined in class path resource [stringmvc.xml]: Instantiation of bean failed; nested exception is java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono
经仔细检查发现,小白在配置SimpleUrlHandlerMapping的bean中犯了一个很严重的错所导致的
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 错误写法是底下的 ,上面bean配置信息正确-->
<bean class="org.springframework.web.reactive.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/userTest1">simple</prop>
<prop key="/userTest2.action">simple</prop>
</props>
</property>
</bean>
SimpleUrlHandlerMapping的类路径配置错误: SimpleUrlHandlerMapping路径有两个,一个是reactive,一个是servlet,就目前而言,仅仅搭配环境出现启动报错“Error creating bean with name ”的最终原因是自己一时大意,利用Ctrl+Shift+T搜索SimpleUrlHandlerMapping回车,导致的类选择错误,然后顺其自然的拷贝类全路径时,选择错误所导致。
解决办法
将类名重新copy,选择org.springframework.web.servlet.handler包底下的SimpleUrlHandlerMapping得以解决。