0 0

关于service层的疑惑5

一般的在ssh的开发中往往将web application分层  jsp-action-service-seviceimpl-dao-daoimpl
我想问一下这里的service层有什么用
因为它和dao的定义基本相同(可以看成是dao的代理)我感觉完全可以省略这一层
希望大伙能告诉我这一层的具体应用(最好举例说明)
谢谢啦

问题补充:
hudingchen 写道
分层仅是一种规范而已。
service层:主要写业务逻辑。
dao层:数据访问。

service层依赖dao接口就行了,不必知道daoimpl实现方式(hibernate,jta,ibatis),如果你的dao层发生变化了,只修改daoimpl就可以了,其他层代码不需修改。

但service层 分成 service接口 和 service实现是为了什么

问题补充:
hudingchen 写道
还是规范,是面向接口的思想,把service接口暴露给表示层,表示层不必关心service实现,降低了类之间的耦合度。


dao层可以有jdbc mybaties hibernate等实现
那么service层的其他实现是怎么样的呢
DAO 
2011年10月19日 21:20

4个答案 按时间排序 按投票排序

0 0

采纳的答案

那么service层的其他实现是怎么样的呢 

service层一般是根据业务逻辑划分的,比如有一个PersonService接口
public interface PersonService{
  public abstract void study();
    public abstract void eat();
  } 

它有俩个方法,action知道学study()就行,不需要知道它具体学什么,实现由seviceimpl来完成,根据业务逻辑可能会有外语,数学等等,eat方法也是这样。

2011年10月20日 07:05
0 0

引用
dao层可以有jdbc mybaties hibernate等实现
那么service层的其他实现是怎么样的呢

service层是调用各种dao的业务操作,比如你有一个业务是 添加,然后修改。
那么你分别调用dao的添加和修改操作,包括里面的一些数据转换,逻辑判断都放到service层,dao只是单纯的增删改查。
而且事务一般会放到service层。

2011年10月20日 09:24
0 0

还是规范,是面向接口的思想,把service接口暴露给表示层,表示层不必关心service实现,降低了类之间的耦合度。

2011年10月19日 22:44
0 0

分层仅是一种规范而已。
service层:主要写业务逻辑。
dao层:数据访问。

service层依赖dao接口就行了,不必知道daoimpl实现方式(hibernate,jta,ibatis),如果你的dao层发生变化了,只修改daoimpl就可以了,其他层代码不需修改。

2011年10月19日 21:57

相关推荐

    基于SSM的教资考前指导系统 Javaee项目 ssm项目

    - 实现Service层:定义业务逻辑,通过Spring管理相关组件。 - 创建Controller层:处理HTTP请求,调用Service层方法,返回响应结果。 - 测试:对各个模块进行单元测试和集成测试,确保功能正确性。 - 部署上线:打包...

    MICRO CANOPEN从站源代码及测试源代码

    以下是关于这个主题的详细解释: 1. **CANOPEN协议**:CANOPEN是CiA(CAN in Automation)组织制定的一种应用层协议,基于ISO/OSI模型的七层网络通信协议,它在物理层和数据链路层使用CAN协议,而在网络层及以上则...

    Spring(学习遇见的问题和注意点).pdf

    @Service、@Repository和@Controller分别是@Component的特殊形式,通常用在服务层、数据访问层和控制层。这些注解告诉Spring,带有这些注解的类需要被Spring容器管理。 接下来是AOP(面向切面编程),它允许开发者...

    springboot034基于Springboot在线商城系统设计与开发毕业源码案例设计.zip

    4. **Service层**:实现业务逻辑,与DAO层交互,处理数据操作。 5. **DAO层**:用于数据库访问,通常会使用MyBatis或JPA等持久层框架。 6. **Model对象**:定义数据实体,映射数据库表结构。 7. **视图模板**(如...

    springboot047基于Springboot大学生就业招聘系统毕业源码案例设计.zip

    5. **Service层**:实现业务逻辑,与DAO层交互。 6. **DAO层**:与数据库交互,执行SQL语句。 7. **Model实体类**:代表数据库中的表结构。 8. **视图层**(如果使用Thymeleaf、Freemarker等):生成HTML响应。 9. *...

    基于java的教务查询系统毕业设计(源代码+数据库+部署文档+部署视频).zip

    源代码中应该包含服务层(Service)、控制层(Controller)、模型层(Model)和视图层(View)的实现,以及配置文件如application.properties或application.yml。通过对这些代码的阅读和分析,可以深入理解如何利用...

    基于SSM的员工在线知识培训系统源码.zip

    在SSM框架下,开发者首先会定义好Model、Service和Controller层的接口和实现,然后配置Spring和MyBatis的相关XML文件,编写SQL映射文件,最后完成前端页面的开发。 【学习与实践】 对于学生或初学者,此项目是一个...

    android客户端与后台服务器交互

    而`AndroidCLient`则是Android客户端应用的代码,包含AndroidManifest.xml、布局文件、Activity、Service等组件,以及网络请求相关的Java代码。 为了学习这个示例,你需要了解Android应用开发的基础,如Activity...

    CXF入门.rar

    在这样的架构中,CXF通常作为服务层,处理业务逻辑,Spring则作为整个应用的胶水层,负责组件的装配和依赖管理,而Struts2则负责用户界面的交互和控制流程。 在文档【重要参考!!!Apache CXF入门范例以及对传递...

    Hibernate做的留言板

    4. **服务层(Service Layer)**:业务逻辑处理,调用DAO来操作数据。 5. **控制器(Controller)**:如Servlet或Spring MVC的Controller,处理HTTP请求并调用服务层。 6. **视图(View)**:可能是JSP、HTML页面...

    基于ssh网上答疑系统 java

    - 编码实现:根据设计编写代码,包括Action、Service、DAO层。 - 测试:单元测试、集成测试,确保功能正确无误。 - 部署上线:配置服务器环境,发布应用,监控运行状况。 综上所述,基于SSH的网上答疑系统利用这三...

    java j2ee学习中必要的chm格式的帮助文档,中文版的

    这个"java j2ee学习中必要的chm格式的帮助文档,中文版的"是针对初学者和开发者的重要资源,它包含了一系列关于Java J2EE、JavaScript的详细解释和指南,以CHM(Compiled HTML Help)格式呈现,方便用户快速查找和...

    深入浅出Zookeeper

    例如,对于Zookeeper如何在集群中进行调度、客户端(Client)与节点(znode)的意义以及Leader选举的具体机制等问题,往往容易让人产生疑惑。此外,还有一种常见的误解,即认为每个Kafka服务器都需要部署一个Zookeeper...

    (完整版)Java系统架构师面试题 (2).docx

    SOA(Service-Oriented Architecture)是一种软件架构风格,强调服务之间的松耦合和自治性。ROA(Resource-Oriented Architecture)是一种软件架构风格,强调资源的自治性和松耦合性。两者的原理和合用场景是:SOA...

Global site tag (gtag.js) - Google Analytics