1、Service层:业务层–>控制业务
业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。
好处:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
2、Controller层:控制层–>调用业务层方法来控制业务逻辑
controller层主要调用Service层里面的接口来控制具体的业务流程,控制层的配置也要在配置文件中进行。
Controller和Service的区别是:Controller负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计
3、Dao层:持久层,主要与数据库交互
Dao层首先会创建Dao接口,接着就可以在配置文件中定义该接口的实现类;然后就可以在模块中调用Dao的接口进行数据业务的处理,而不用关注此接口的具体实现类是哪一个类,Dao层的数据源和数据库连接的参数都是在配置文件中进行配置的。
4、Entity层:实体层–>数据库在项目中的类
主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。
总结
Dao层:全称Data Access Object。Dao层比较底层,负责与数据库打交道具体到对某个表、某个实体的增删改查
Service层:又叫服务层或业务层,封装Dao层的操作,使一个方法对外表现为实现一种功能,例如:网购生成订单时,不仅要插入订单信息记录,还要查询商品库存是否充足,购买是否超过限制等等。
Controller层:业务控制层,负责接收数据和请求,并且调用Service层实现这个业务逻辑。
Controller层可以说是更像是一个服务员,他把客人(前端用户)点的菜品(各种数据、请求的类型等)进行汇总什么口味、咸淡、量的多少(全部请求、交互汇总),交给食堂负责管理员(Service层),管理员则告诉沾板厨师(Dao1)、汤料房(Dao2)、配菜厨师(Dao3)等(统称Dao层)需要什么样的半成品,副厨们(Dao层)就负责完成管理员(Service)交代的任务。