controller、service、serviceImpl、(DAO)Mapper、Xml
1. 表现层:controller(Handler)
Controller层负责具体的业务模块的流程控制,供前端调用的API
1.调用Service层的接口来控制业务逻辑
2.针对具体的业务流程会有不同的控制器,设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使得结构变得清晰,也大大减少了代码量
2. 业务层:service
Service层主要负责业务木块的逻辑应用设计。
1.设计接口
2.封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。
3. 业务层实现:serviceImpl
serviceImpl层主要是用来实现业务层的接口
1.实现业务层的接口
2.调用DAO层的接口
(需要添加@Service注解)
4. 持久层:(DAO)Mapper
DAO层主要做的数据持久层的工作,负责数据库进行联络的一些任务都封装在此
1.首先设计接口,再设计其实现的类
2.在spring的配置文件中定义此接口的实现类
3.在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类
4.DAO层的数据源的配置以及数据库的连接
5. 持久层的配置:Xml (resources.mapper.*.xml)
xml层主要是写sql语句,用来查询数据库的资料
1.配置别名:用于批量扫描Pojo包
2.不需要配置mappers标签,但一定要保证mapper.java
文件与mapper.xml
文件同名。
6. 模型层:Entity(model)
1.模型层是数据模型层,例如与数据库的哪个表相关联,类中可以封装getter,setter,toString等方法
2.dto是数据传输对象(Data Transfer Object)的缩写,不是model,model属于po持久对象
总结
1.DAO层和Service层可以单位进行开发,互相的耦合度很低,完全可以独立进行
2.Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
3.Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。