一、简介
体现了分层概念,是java类的分层,不是MVC三层架构的补充
分别为 web层、service层、dao层
二、分层的目的
技术隔离,dao层使用到的技术只能在dao层存在,不能延伸到其他层
好处:
项目扩展,替换某一层技术的时候只需要更换这一层,其他层不需要改变
三、图解
处理用户请求 : web层
处理业务逻辑 : service层
与数据库通信 : dao层
每一层都用接口进行封装
![在这里插入图片描述](https://img-blog.csdnimg.cn/95de9c8abab9401fb7cb7ab71102fee6.png)
四、详细图解
![在这里插入图片描述](https://img-blog.csdnimg.cn/417309775caf401e93bce0b910cbae63.png)
五、项目结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/55bf6cef5906433a93418b1f8d13db19.png)
六、代码解释
1、web层调用service层
![在这里插入图片描述](https://img-blog.csdnimg.cn/8491312f467040a4abde0b3e3a2683b2.png)
2、service层调用dao层
(这里创建dao层对象使用的是工厂方法,通过反射创建)
![在这里插入图片描述](https://img-blog.csdnimg.cn/79ad4d31bd044590997e0e83e661715a.png)
3、dao层访问数据库
![在这里插入图片描述](https://img-blog.csdnimg.cn/6db2e76c7da945c6b741ffa11dc1822e.png)