Java WEB学习笔记:java EE 中的MVC 设计模式(项目实战MangerSystem)

1.在上一学习笔记中,了解了MVC设计的思想,这一学习笔记,主要手动写一个MVC的查询程序,比较糙,重理解思想

2.需求:F盘 信息管理系统.pdf

3.代码结构
MVC结构:
web层 : 客户端网页,是表层的东西,可接收和返回数据给用户 (项目的WebContent/user文件夹以及WebContent/main文件夹)

domain层:主控制层,用户数据库交互的核心中转站 login.jsp和UserServlet.java
service层:业务逻辑层,处理数据逻辑,验证数据 UserService.java(接口)和UserServiceImp.java(实现类)
dao层:持久层,读写数据库操作 UserDao.java(接口)和UserDaoImp.java(实现类)

web发出请求—>domain接收控制数据转向—>service验证数据正确—>dao层进行操作

Dao层:使用框架(Hibernate等)连接数据库,操作数据库(添.删.改.查)
Service层:引用对应的Dao进行数据库操作(可以编自己需要的代码)
Service是业务层,dao是数据访问层
Service中调用dao,Service中new一个dao类对象

一.Bean(项目里是pojo):(javaBean)在MVC设计模型中是model,又称模型层(数据层),用来设置数据的属性和一些行为;对应数据库表的实体类
java中有一个特性,就是数据(成员变量)与行为(get,set方法)相分离
javaBean其实就是一个java类,这个类可以重用
功能:
1.封装数据:数据库中某一张表的字段进行封装,每个属性都和数据库中的一一对应
2.封装业务:
javaBean一般满足一下要求:1.是公有类,并且提供无参构造方法
2.属性(成员变量)私有
3.具有共有的set,get方法

二.Dao层: 连接数据库,操作数据库(添.删.改.查)
1.数据库连接类:连接数据库并获得连接对象,以及关闭数据库
2.数据库传输对象:
3.Dao接口类(UserDao.java):Dao接口类中定义了所有的用户操作,如添.删.改.查
4.Dao接口的实现类(UserDaoImp.java):Dao实现类实现了Dao接口,并实现了接口接口中定义的所有方法
5.工厂类(框架):

使用数据访问对象(Dao)设计模式,以便将低级的数据访问逻辑与高级别的业务逻辑分离
BaseHibernateDao:(接口实现类)默认提供的也可以实现添.删.改.查,但是可增加,重写一些方法,以便达到项目要求(添.删.改.查,分页,都为通用代码,可以减少代码量,避免代码重写)

三.Service层:
1。service层叫服务层,被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。
service层作用就一个,处理复杂的业务逻辑
在比较大型的系统中,由于处理的逻辑很复杂,一次请求可能要多次操作数据库,而如果就把这些调用dao层的代码写到action(相当于Servlet,)中,可是可以,但是不利于代码的维护和可复用性,所有一般都会在dao层和action中间加上一个service层,将一些复杂的逻辑交给service层处理。

2、解释为什么要分开写UserService(接口)与UserServiceImp(实现类)(dao层原理等同):正因为service层需要专注于业务逻辑,且业务逻辑有时复杂有时简单,有时一套逻辑只需满足一套业务,有时一套逻辑需要同时满足多套业务(满足==符合),所以Service层需要保持伸缩性和可扩展性,由此衍生出松耦合性需要。由Service来根据目前的功能或业务需求来定义接口,让UserServiceImp来负责具体实现,可以根据需要来实现多态、重载、扩充等等。

注:action为控制层,用来控制各业务处理的走向,和处理系统前后台连接;

发布了53 篇原创文章 · 获赞 18 · 访问量 1777

猜你喜欢

转载自blog.csdn.net/c22cxz/article/details/99192672
今日推荐