工程结构-常用包名
对象定义
- AO(Application Object) :应用对象。在 Web 层与 Service 层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
- BO(Business Object) :业务对象。由 Service 层输出的封装业务逻辑的对象。业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。建立一个对应简历的BO对象处理简历,每个BO包含这些PO。这样处理业务逻辑时,我们就可以针对BO去处理。
- DO(Data Object) :与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
- DO(Domain Object)领域对象 就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。
- DAO(Data Access Object ):数据访问对象——同时还有DAO模式 数据访问对象这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.主要用来封装对数据库的访问。通常和PO结合使用,DAO中包含了各种数据库的操作方法。它可以把POJO持久化为PO,用PO组装出来VO、DTO
- DTO(Data Transfer Object):数据传输对象——同时还有DTO模式 DTO(Data Transfer Object) :数据传输对象, Service 或 Manager 向外传输的对象。数据传输对象主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100个属性。但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。
- O/R Mapping (Object Relational Mapping):是对象关系映射的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理,不过,如果我们没有使用数据持久层,或者说没有使用hibernate,那么PO和VO也可以是同一个东西,虽然这并不好。
- PO(Persistant Object):全称是持久对象,最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
- POJO (Plain Ordinary Java Object ):简单java对象个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。一个POJO持久化以后就是PO直接用它传递、传递过程中就是DTO直接用来对应表示层就是VO
- QO(Query Object):数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。
- TO(Transfer Object):数据传输对象,在应用程序不同关系之间传输的对象。
- VO(View Object) :视图对象 :显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
- VO(value object):值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。从前端获取信息用作后端的查询条件。
常用包名
- bean:存放实体类文件
- entity:存放实体类文件
- pojo:存放实体类文件
- model:存放模型类文件
- dataobject:存放数据源对象类文件
- domain:存放领域对象文件
- dto:存放数据传输对象文件
- conn:建立了一个数据库连接对象,其他所有涉及到数据库操作的文件都需要包含这个文件并引用该对象。
- dao:存放数据层文件
- repository:和dao层类似,在使用spring data jpa时的常用包名
- mapper:和dao层类似,在使用Mybatis时的常用包名
- service:存放服务层文件
- action:存放服务层文件(在ssh中常用包名)
- manager:存放服务层文件(针对第三方的)
- spi:存放服务层文件(英文Service Provider Interface的缩写。中文意思是服务提供商接口。满足某种服务标准的供应商提供的符合该标准的应用程序接口,SPI应该和该服务的API标准是兼容的,应用程序一般应该是基于API编写,除非是SPI中包含API中没有提供的功能而又必须使用。)
- controller:存放控制层文件
- web:存放控制层文件
- api:存放控制层文件(web api)
- config:存放配置类文件
- enums:存放枚举类文件
- constant:存放定义常量的文件
- exception:存放异常类文件
- job:存放任务类文件
- utils:存放工具类文件
- tools:存放工具类文件
- aspect:存放切面类文件
- converter:存放转换器文件
- interceptor:存放拦截器文件
- form:
- handler:
以上来自网络搜集整理,如有异议可以相互交流。