spring配置自动注解时报错:org.springframework.beans.factory.NoSuchBeanDefinitionException:No bean named 'user_dao' available
问题解决方法如下:
1.查看spring配置文件applicationContext.xml是否配置了mapper的代理(我使用的是批量注入)
包名是否正确
2.查看
接口类是否与数据库xml的文件名相同,
mapper的路径是否与接口路径相同,
接口方法是否与语句的id相同,
输入输出类型是否与接口相同(list()的输入输出参数只要与它的指定泛型相同)
3.查看web.xml中是否有配置加载spring
spring中公共资源无法使用
首先,确定你是否配置了静态资源的放行。
静态资源放行的方法通常有三种:
1. <mvc:default-servlet-handler /> 这种是所有的不能被controller控制访问的资源都会用它来访问
2. <mvc:resources location="/public/" mapping="/public/**"></mvc:resources> 这种是指定哪些目录下的资源能被访问.
实例的这个是地址public文件夹下的所有文件。"/public/**" 中public表示文件夹名,两个星号是表示是这个文件夹下的所有文件夹和所有文件
3.一、二的方式都是配置在springmvc.xml中的,而这个方法是配置在web.xml中的
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
实例表示的是放行所有.js结尾的资源文件。
如果确定你写好了放行,那么确认一下jsp中的请求地址是否正确?比如少了一个字母啥的?毕竟有时候智商也会下线的
智商在线?没写错?确定了?
那你得看看网页请求的时候是不是有这样的地址:
看看那个叫请求网址的家伙,对,我标记出来的那个,是不是有一串莫名其妙的东东,
http://localhost:8080/TOC/Skip/${pageContext.request.contextPath } 分明被skip拦截了,却还有一串找地址的${pageContext.request.contextPath }在这。对的,估计就是你的el表达式被当成小白忽略了。所以你得试试加个isELIgnored="false",像下边的图一样:
isELIgnored="false"这玩意就是阻止你的项目把el表达式当成字符串对待。
听大神说好像是版本问题啥的。下边是大神的言论:
https://blog.csdn.net/baidu_23177933/article/details/50812584 这位大神解释了为啥会有这个问题
https://blog.csdn.net/fyqcdbdx/article/details/6317579 这位则告诉了我们 isELIgnored="false"的作用
OK,保存后再打开你的服务器试试,说不定已经完美了。