1:Error configuring application listener of class [org.springframework.web.context.ContextLoaderListener]
web或webapp下的WEB-INF下的lib包中没有jar包存在,解决方法: 所有jar包都到output-root下的WEB-INF下的lib中,重启Tomcat。即可。
2:若报: Error creating bean with name 'multipartResolver':,
<!--配置MultipartResolver 处理文件上传-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/><!--默认编码-->
<property name="maxInMemorySize" value="10240"/><!--最大内存大小-->
<property name="uploadTempDir" value="/WEB-INF/upload"/><!--临时目录-->
<property name="maxUploadSize" value="-1"/><!--最大文件大小 -1无限制-->
</bean>
先检查maven依赖包中是否含有以下信息,版本可换<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency还是报错,则是服务器(本例为Tomcat)没有这个包,那么将本包放置于服务器lib目录下。
3:NoSuchBeanDefinitionException: No bean named 'xxx' is defined
(1) 缺少包或者包冲突 //spring基本依赖 compile "org.springframework:spring-context:4.3.9.RELEASE" compile "org.springframework:spring-beans:4.3.9.RELEASE" compile "org.springframework:spring-core:4.3.9.RELEASE" compile "org.springframework:spring-expression:4.3.9.RELEASE" //spring的aop操作依赖 compile "org.springframework:spring-aspects:4.3.9.RELEASE" compile "org.springframework:spring-aop:4.3.9.RELEASE" compile "aspectj:aspectjweaver:1.5.4" compile "aopalliance:aopalliance:1.0" //spring的jdbc操作依赖 compile "mysql:mysql-connector-java:5.1.38" compile "org.springframework:spring-jdbc:4.3.9.RELEASE" compile "org.springframework:spring-tx:4.3.9.RELEASE" compile "com.mchange:c3p0:0.9.5.2" //springMVC的依赖 compile "org.springframework:spring-webmvc:4.3.9.RELEASE" compile "org.springframework:spring-web:4.3.9.RELEASE" compile "javax.servlet:jstl:1.2" compile "javax.servlet:servlet-api:2.5" compile "javax.servlet.jsp:jsp-api:2.2"
(2) bean是否未定义或名字写错
仔细检查自己的bean的名字有没有写错,如果用@Autowired的话,还要检查类型是否匹配。
还要检查@Repository等有没有忘了配置
(3). spring的配置xml的路径是否正确
在resource下需要用classpath:开头(如果不行可以试试classpath*:),在webapp下需要WEB_INF/xxx
还要注意,你的路径应该对应的是tomcat下的路径!
(4). web.xml配置问题(这也是我这次出的问题)
使用到的mxl配置文件要在web.xml中进行配置! 否则会出现
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext.xml,classpath:spring/spring_mybatis.xml</param-value>
</context-param>
前端控制器的init-param最好要配一下,不然他会自动寻找xxx-servlet.xml加载,这里也有可能出错
出错举例:https://www.cnblogs.com/Demonfeatuing/p/9523170.html
<!--springmvc前段控制器配置--> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--配置springmvc加载的配置文件(处理器、映射器、适配器等)--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/dispatcher-servlet.xml</param-value> </init-param> </servlet>