java中service层用法 java中dao层和service层的区别是什么?
java中dao层和service层的区别是什么?
这体现了分层的思想,服务负责业务逻辑,Dao负责数据访问。以注册用户的功能为例,服务层在处理异常的同时,负责检查用户名是否有保留字和是否被使用,然后将信息写入数据库,再生成权限等关联信息也写入数据库。这一系列动作是业务逻辑。服务层负责实现,但它不应该关心底层是使用MySQL还是Oracle,也不应该拼接SQL语句。Dao层的代码只与数据库交互。例如,如果服务层想要添加用户记录,它将执行insert语句。如果它想检查用户是否存在,它将执行select语句。
Service层和Dao层真的有必要每个类都加上接口吗?
这主要取决于您的项目:
例如,如果项目中使用hibernate,以后可能会切换到mybatis,那么Dao需要使用该接口。这不会影响上层代码的更改。
另一个例子是,项目是一个单一的应用程序。任何代码修改都需要重新编译整个项目,因此不需要接口。如果项目是由模块编译和部署的,那么可以使用接口解耦。假设修改了Dao,只需要重新编译和部署Dao模块,而不影响上层模块。
此外,如果项目团队中有许多新手,简单的代码结构可能更合适。复杂项目结构的学习成本较高。
如果工程进度非常紧迫,我们可以用简单粗暴的方式用经济成本来说明原因。
使用接口的成本是不使用接口的成本(包括后续维护成本)。
如果项目变化很大,部署了模块,项目不急,使用接口的成本比不使用接口的成本低,虽然早期不使用接口似乎更简单;相反,不使用接口的成本低,而且连框架都不能用~
毕竟工具是提高效率的,那你为什么不能和自己相处呢!
java中service层用法 java三层架构讲解 dao层只在java中使用吗
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。