java EE的三层或者四层结构。
四层架构:
展示层(web层)、业务逻辑层、数据访问层、信息资源层
四层架构在是开发企业应用时使用的非常经典的划分模式。
web层负责前端展示和用户请求的处理。
mvc是一个设计模式,主要用户构建用户界面,目的是把展示逻辑和逻辑分离。web层通常会使用MVC模式进行构建,经常使用的mvc框架包括spring mvc,struts等,都是在web层或者展示层使用的。
业务逻辑层一般应用中会有一层service抽象,实现核心业务逻辑,事务控制也在这一层实现。
数据访问层也即dao层,重点负责数据库访问,完成持久化功能。
信息资源层主要服务资源的存储。
所以mvc和四层(三层)结构有关系,四层架构是应用的体系(分层)结构,描述了整个应用的一个完整的划分,而mvc是一个设计模式,通常会用于四层架构的展示层的构建上。
DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。
Service层:
Service层主要负责业务模块的逻辑应用设计。
设计接口,设计实现类,接着再Spring的配置文件中配置其实现的关联。
Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性。
Controller层:Controller层负责具体的业务模块流程的控制,在此层里面要调用Service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器.
View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示,
DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,
Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
DAO设计的总体规划需要和设计的表,和实现类之间一一对应。
DAO层所定义的接口里的方法都大同小异,这是由我们在DAO层对数据库访问的操作来决定的,对数据库的操作,我们基本要用到的就是新增,更新,删除,查询等方法。因而DAO层里面基本上都应该要涵盖这些方法对应的操作。除此之外,可以定义一些自定义的特殊的对数据库访问的方法。
Service逻辑层设计
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。