@Beeder
2018-02-25T11:39:04.000000Z
字数 722
阅读 1651
javaWeb
Struts2
Spring
Hibernate
从作用上来说spring框架是一个Java的对象管理框架;而hibernate则是将数据库对象转化为Java对象的持久层和数据层框架,是对CRUD操作的一层封装。而spring MVC或Struts则是一个MVC的分层框架,充当路由器和分发者的角色。在SSH这样的框架基础上进行开发比起直接进行web开发面向对象的特性更明显,因此在设计模式上也具有一定的特点。
Entity:在SSH框架中常见的Entity类是模型层,本质是数据表的对象化,属于数据层的封装,主要作用在于用对象来映射数据库表,主要包含对象的参数也就是数据表的表项以及所对应的set和get方法。
DAO:而DAO类则是对数据操作的一层封装,是持久层的封装,比如通过将hibernate session的方法封装为DAO类的方法来提供持久层的操作,其成员主要为session对象所提供的CRUD方法。
Service:而Service则提供完整的业务逻辑,通过逻辑判断处理用户输入等比如判断输入是否合法,对于合法的数据和操作通过调用Dao类的方法来进行数据库访问和持久化,属于控制层或者说业务层,同时也直接连接着持久层。
Controller:而Controller则是与用户直接交互的对象,通过处理请求调用service来响应用户操作,同时给出响应和处理视图层。
在这种分层中,比较主要的一点在于将直接的数据库操作全部放在Dao层中,避免侵入Service层,而将所有的业务逻辑放在Service中,避免侵入Controller层。
其关系可以表示如下: