一般可分为3层,如果业务复杂也可以进一步细分。
1.Web层
Web主要负责接收前端的Http请求,对数据做初步校验,然后将数据封装,传给业务层,将数据封装是为了统一对下层的接口,后续改动时只需在本层改就行了。
2.业务层
Service,业务层,顾名思义,负责处理后台具体的业务逻辑,向上接收Web层传递下来的对象,向下获取持久层提供的数据接口。
一般XxxService都是接口,XxxServiceImpl是Service的实现类。
3.持久化层
持久化层主要负责数据的持久化,大部分是对数据库或者文件的读写操作。对上,给业务层提供数据,对下,连接具体的数据存储,如数据库等。
4.名词
4.1 DAO (Data Access Object, 数据访问对象)
DAO是面向对象软件中,对访问RDBMS或文件系统的一个封装的模式。用数据库访问技术(JDBC,ODBC,Hibernate,iBatis等)和数据库实体进行交互,实现数据存取操作。通常将数据访问这部分的逻辑与业务逻辑分离,保证业务代码不随持久化方式的变化而变化,持久层模型的一种。
4.3 ORM Object-Relation Mapping
对象关系映射,将对象,对象的属性以及对象之间的关系保存在关系型数据库的表中,通过建立对象和表的映射,由系统自动生成,