前三篇:
Idea+Maven+springboot+Mybatis 创建web项目教程(1):环境搭建与配置
Idea+Maven+springboot+Mybatis 创建web项目教程(2):集成Mybatis
Idea+Maven+springboot+Mybatis 创建web项目教程(3):使用Mybatis自动生成器接通数据库
一般的web开发都会用到MVC(Mode,View和Controller)三层来进行构建项目。
前三篇文章已经借用springboot走通了一个简单的流程,但是后台的逻辑不清晰,只是能够连通向前台输出内容,现在开始构建完整的一个标准结构。
一、组织SpringMVC层级结构
在com.miaoshaproject目录下,平行于dao层和dataobject层,创建controller和service目录。
可以看到,除了serveice和controller,我们在这两个包的路径下面分别又创建了impl,model和viewobject。
解释一下:
-
service是提供服务的,
-
直接在service下的是接口,
-
impl包里专门存放对应service接口的实现类,
-
model里面存放的是数据模型,是业务逻辑层面需要的数据模型
(这里的体会,感觉MVC的分层在很多时候有些模棱两可,比如model层怎么就放到service下面了呢?)
-
-
controller层就是控制层,
- 下面的viewojbect是提供给前端展示的数据类,因为后端的业务数据直接送给前端是不合适的,要经过挑选重新封装。
- dataobject就是纯数据,后端封装的对应于数据库里数据的对象;
-
dao层就是数据访问,是mapper类,因为对数据访问的操作,我们写出mapper,映射到mapping目录下面的xml文件,从那里面根据对应的属性来获取元素,而那些文件里面有sql代码,有这种模式代码的快速生成是依赖于mybatis。
现在搞不清楚没关系,继续往下看,等到代码有了之后,可以看到他们的依赖关系.
二、以用户为例,创建对应的controller
//指定一个user的标记,这样才能被spring扫描到
@Controller("user")
//指定在url上面需要通过/userf访问到他
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/get")
@ResponseBody
public UserModel getUser