业务开发:普通服务与RPC服务实现策略
需积分: 0 159 浏览量
更新于2024-08-05
收藏 90KB PDF 举报
"业务开发建议主要涉及到在Spring框架中的服务实现方式,包括普通服务和RPC服务的区分,以及如何在RPC服务中使用普通服务。同时提到了VO和PO在不同层次的数据交互作用。"
在业务开发中,服务实现的组织和管理对于系统的可维护性和扩展性至关重要。在给定的描述中,我们可以看到两种服务实现方式:普通服务和RPC(远程)服务。这两种服务在同一个项目中可能会实现相同的接口,但它们的定位和使用场景不同。
1. **普通服务实现**:
- 普通服务通常放置在`core-business`模块中,通过Spring的`@Service`注解标记,使得该服务能够被Spring容器管理并暴露出来供其他组件使用。
- 为了防止服务重名,可以通过自定义类名或者使用`@Service`注解的`name`属性来指定服务的唯一标识,如`@Service("commonDemoService")`。
2. **RPC服务实现**:
- RPC服务位于`api-provider`模块,通过自定义的`@RpcService`注解进行服务暴露,这意味着这些服务可以跨进程调用,提供远程服务功能。
- 在RPC服务实现中,可以调用普通服务实现类,以利用其业务逻辑。这有助于分离关注点,让RPC服务专注于远程通信,而普通服务则专注于业务处理。
在RPC服务中使用普通服务时,有以下两种方式获取普通服务实例:
- **方式1**:通过`@Resource`注解注入,指定需要的普通服务名称,如`@Resource(name="commonDemoService") private DemoService demoService;`
- **方式2**:如果`@Service`注解没有自定义名称,可以使用`RpcServerUtil.getBean("demoServiceImpl")`方法从Spring容器中获取bean。
此外,文件中还提到了**VO(View Object)**和**PO(Plain Old Java Object)**的概念:
- **PO**是数据访问层(DAO)与业务逻辑层之间的数据载体,它通常与数据库表结构相对应,用于存储从数据库查询出来的数据。
- **VO**则用于业务逻辑层和视图层(包括控制器和前端页面)之间的数据交换。在控制层,VO对象会被转换成JSON格式,以便前端页面渲染。
理解并正确运用这些原则,可以帮助开发者构建出清晰、可扩展的业务架构,提高代码的可维护性和团队协作效率。在实际开发过程中,根据项目的具体需求和规模,合理地划分服务类型和数据传输对象,能够有效地提升系统的性能和用户体验。
166 浏览量
143 浏览量
2021-08-31 上传
2021-10-02 上传
2021-11-24 上传
2022-10-16 上传
2021-09-16 上传
2021-12-07 上传
张盛锋
- 粉丝: 31
- 资源: 297
最新资源
- 计时器篇两个计时器API的讨论
- 电喇叭车辆追尾碰撞事故占有非常高
- 常用模拟信号的一些基本特性\常用模拟信号的一些基本特性.doc
- Eclipse插件开发
- MyEclipse 6 java EE开发中文手册.pdf
- spring开发指南
- filediff2(算法-用于VSS比较工具等).pdf
- CCNA菜鸟笔记 有关CCNA考试的复习资料
- 无线传感器网络的路由协议PPT
- Targets文件
- Expert One on One J2EE Development Without EJB.pdf
- ISA Server 2004完全上手指南.doc
- 华清远见-文件I/O编程
- Hogenauer CIC滤波器的算法研究及FPGA设计实现
- 计算机基础_前言\系统\\操作课件
- httpd-docs-2.2.2.en.pdf