controller、service、serviceImpl、(DAO)Mapper、Xml

java项目结构说明-LMLPHP

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的配置文件中定义此接口的实现类

java项目结构说明-LMLPHP

3.在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类

4.DAO层的数据源的配置以及数据库的连接

java项目结构说明-LMLPHP

java项目结构说明-LMLPHP

java项目结构说明-LMLPHP

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持久对象

java项目结构说明-LMLPHP

总结

1.DAO层和Service层可以单位进行开发,互相的耦合度很低,完全可以独立进行

2.Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

3.Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

10-17 16:11