0%

Java框架项目互调案例

学习java有这么一段时间了,在这段时间明显的感觉到了PHP与java的区别所在,从直观的感受来说同一个功能点java的代码量大于PHP很多,而且全程都是面向对象、设计模式,层次感、逻辑感非常的清楚,规范性的东西很多而且非常严格,request和response都是对象的形式,不再像PHP有单属性的出入参

本篇文章主要记录的是java之间互相调用下的处理场景以及java在写api时的整个流程以及生命周期,本篇文章很可能不是一篇文章,更多是作为自己对学习java漫漫长路上的一次记录而已,欢迎指正!

业务需求

现目前对所有项目中关于客户的隐私信息及其关注,因此我们需要对每次查看客户隐私信息的用户进行日志记录。

业务方POM依赖

1
2
3
4
5
6
7
8
9
<dependency>

<groupId>com.xxx.monitor</groupId>

<artifactId>java-xxx-monitor-api</artifactId>

<version>1.0.0-SNAPSHOT</version>

</dependency>

接口方法

1
2
ItemResult<Boolean> addMonitorLog(Request<MonitorLogFormDTO> request)

接口 :com.xxx.monitor.api.service.IMonitorService

依赖配置

dubbo中主pom的依赖配置 (父pom)

地址:java-xxx-agent-dubbo/pom.xml

properties标签下配置

1
<java-xxx-monitor-api.version>1.0.0-SNAPSHOT</java-xxx-monitor-api.version>

dependencies标签下配置

1
2
3
4
5
6
<!-- xxx monitor -->
<dependency>
<groupId>com.xxx.monitor</groupId>
<artifactId>java-xxx-monitor-api</artifactId>
<version>${java-xxx-monitor-api.version}</version>
</dependency>

dubbo-intergrate中pom的依赖配置

地址:java-xxx-agent-dubbo/xxx-agent-dubbo-intergrate/pom.xml

dependencies标签下配置:

1
2
3
4
5
<!-- xxx monitor -->
<dependency>
<groupId>com.xxx.monitor</groupId>
<artifactId>java-xxx-monitor-api</artifactId>
</dependency>

消费者配置

dubbo-web中的消费者配置

在java-xxx-agent-dubbo/xxx-agent-dubbo-web/src/main/resources/dubbo下的dubbo-consumer.xml文件中添加消费者信息。

id为定义的属性名称

interface为业务方jar包地址

1
<dubbo:reference id="iMonitoLogService" interface="com.ipr.monitor.api.service.IMonitoLogService" check="false"/>

dubbo-test中的消费者配置

在java-xxx-agent-dubbo/xxx-agent-dubbo-test/src/test/resources/dubbo下的dubbo-consumer-test.xml文件中添加消费者信息,该配置主要是用于单元测试中使用。

id为定义的属性名称

interface为业务方jar包地址

1
<dubbo:reference id="iMonitoLogService" interface="com.ipr.monitor.api.service.IMonitoLogService" check="false"/>

层次逻辑

层次逻辑以一张流程图来表述

java