记踩过的SpringMvc的一些坑

时隔一年多,再次在新公司期间接触了SpringMvc,由于之前一段时间再用Python和SpringBoot做项目,所以一时间导致SpringMvc配置中出现了好多坑,遂逐一记录:

关于Dao层找不到的异常

在配置的过程中这个异常出现的次数是最多的,也是最烦人的,一般是由于在Controller层中找不到Service层,然后Service层的Impl在自动装配dao的时候找不到dao,所以异常就会沿着service到达contrller层,但是总结起来,在今天的配置中遇到的情况主要又以下几种:

web.xml中的配置出现了错误:

在Spring5中默认xml文件是在WEB-INF中的,于是也就想着少配置一点是一点的原则,所以在web.xml中只是配置了分发器。但是今天却在其中发现了一些可能会导致Dao层找不到的原因,如下所示是我之前在web.xml中配置的一个详情:

阅读更多

记一次使用Spring5构件Web的过程

由于当时在学习Spring的时候还是在一年前,那时候Spring才是刚到4.3还是4.5.然后做了一个项目之后便了解到了SpringBoot,于是一直在用SpringBoot,所以导致现在配置起来就有点忘记了。所以现在记录下此次配置的过程中所遇到的坑。

踩过的坑:

遇到在web.xml中分发请求的类找不到

第一个坑就是org.springframework.web.servlet.DispatcherServlet这个类一直找不到;于是在POM中添加了个各种依赖终于发现缺少Spring Web MVC这个依赖包。。。

1
2
3
4
5
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 需要webmvc这个jar包-->
<load-on-startup>1</load-on-startup>
</servlet>
阅读更多

记一次springboot-mybatis找不到dao层的错误

写了三个多月的Python,今天再写一个springboot-mybatis的项目的时候好多东西都忘记了,尤其是在今天下午遇到了一个关于mybatis的错误:

1
2
3
4
5
6
7
8
Description:

Field peopleDao in com.example.serviceImpl.PeopleServiceImpl required a bean of type 'com.example.dao.PeopleDao' that could not be found.


Action:

Consider defining a bean of type 'com.example.dao.PeopleDao' in your configuration

很明显就是dao层无法被扫描到,在一下午的尝试中,首先检查了包结构,如下:
com
—example
——controller
————XXX.java
——dao
————XXX.java
——–***
——Application.java

也就是说这个包结构是完全符合springboot的规范的,也就表示在启动类上面的注解是完全可以扫描到dao包下面的那个接口的。所以注解不存在问题。

然后尝试了第二种方法。修改启动类的扫描结构:

阅读更多