dao 与数据库的操做,增删改查等方法
model 通常都是javabean对象,例如与数据库的某个表相关联。
service 供外部调用,等于对dao,model等进行了包装。
impl 定义的接口
util 一般都是工具类,如字符串处理、日期处理等java
首先 DAO 提供了应用程序与数据库之间的操做规范 和操做 用于一般数据库的增删查改 通常若是使用框架 都是由框架自动生成,提升访问效率和便于快速开发。hibernate的DAO中 提供了关于事物 数据读取 修改 删除 添加 这些逻辑 还依赖于下面提到的Model
Model 为了便于理解业务和代码可读 美观 一般将数据库表 做为对象封装,对象封装中提供属性 通常操做DAO类的时候 传入的是Model 经过 hibernate的映射文件 映射到数据库字段也就是一般说的 经过实体类操做数据库
IMPL 以IMPL 结尾的类 通常是实现了某个或多个接口的类 这些类的接口 是定义了一些规范的类一般是数据访问等等 在service 中 会经过spring的注入 注入这些接口来实现逻辑
service 通常在service的实现类 会出如今action中。这些service 提供了包含逻辑的数据访问
举个例子 在 项目中须要将查询出来的全部数据的某个值加1 那么 在service 中 就会作一次循环 从查询出来的Model 集合中 将值取出来 +1web
之因此分这么多层,就是为了它们程序中井井有条,各司其职,其中的一层出了问题不会对其余层有太大影响,实现了高内聚、低耦合
它们的协做关系以下
web页面--->Action---->service---->interface---->IMPL---->DAO---->DATABASEspring