java-Spring Architecture问题:是否需要服务?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Spring Architecture问题:是否需要服务?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1436字,纯文字阅读大概需要3分钟。
内容图文
![java-Spring Architecture问题:是否需要服务?](/upload/InfoBanner/zyjiaocheng/686/98a8aaeec1de44e4884eaae812c6fde5.jpg)
我是Spring的新手,正在创建REST服务.
我想知道服务层用于(@Service).
目前,我将我的DAO封装在该层中.
因此,例如,我的PersonController接收到一个PUT,调用了PersonService,后者又调用了DAO,最终将该人保存在了我的数据库中.
我还在www中看到了一些示例. (https://howtodoinjava.com/spring/spring-core/how-to-use-spring-component-repository-service-and-controller-annotations/)
我也在这里阅读了这个问题:Is this a good Spring Architecture (include testing)
如果它仅以如下方式调用DAO,我是否还需要服务:
public void save(Person p) {
personDAO.save(p);
}
?
我真的不知道这样做的好处是什么.我创建了实际上什么都不做的类……还是仅仅是一种架构标准,因为附加的业务逻辑也将在这一层中?
另外…当我有一些服务时,例如personService,familyService,animalService等,它们都具有相同的方法签名,而有些则不是…在这里使用接口有用吗?
当我创建类似“可保存,可加载,可删除”的接口时(这甚至有意义吗?)-如何正确使用它们?是否为每个服务创建一个新的接口,以扩展所需的接口?就像扩展了Loadable和Deleteable的PersonServiceInterface一样,我可以在PersonService中实现它吗?
提前致谢!
解决方法:
如果您不觉得需要服务层,那么您的控制器执行业务逻辑的可能性就会大大超出预期.
在两者之间添加服务层允许对纯前端进行专用测试(仅控制器句柄请求和响应连线/服务处理业务逻辑/存储库持久存在并查询数据).
这样的经验法则-让许多服务处理逻辑的一部分要比将所有内容填充到控制器中容易得多
我不确定您要使用引入的接口解决什么问题-我认为在您的服务之上重新发明Repository接口是没有意义的.如果您的服务仅直接转发到存储库,则无论如何都没有用.
内容总结
以上是互联网集市为您收集整理的java-Spring Architecture问题:是否需要服务?全部内容,希望文章能够帮你解决java-Spring Architecture问题:是否需要服务?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。