</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
</dependencies>
### 2.2项目整体结构
然后我们项目的整体结构如下:
![](https://img-blog.csdnimg.cn/direct/f1797fb652ea456c99fc1b7b9e428d29.png)
其中InsertDataToMysql这个文件是我们没有用到的,这里就不删啦,大家自行忽略。测试类是我们所需要的,后续会详细说明,大家不要忽略。
### 2.3 ZabbixConfig配置文件
ok,我们继续展示代码,按照项目结构顺序来,首先,config包下ZabbixConfig这个文件:
@Component
@ConfigurationProperties(prefix = “zabbix.config”)
@Data
public class ZabbixConfig {
private String url;
private String username;
private String password;
}
以上的配置类代码用于读取以 `zabbix.config` 前缀开头的配置属性。我们在appliocation.yaml文件中进行了相关配置,读取配置文件中以 `zabbix.config` 为前缀的属性,并将其映射到对应的变量上。appliocation.yaml文件中代码如下:
### 2.4 application.yaml文件
zabbix:
config:
url: http://xx.xx.xx.xx/zabbix/api_jsonrpc.php
username: Admin
password: zabbix
这里的url是如我第一篇配置zabbix的那个url,username以及password都是zabbix默认的,如果大家配置时有修改则要对应修改,“/api\_jsonrpc.php”这个后缀是我阅读了zabbix API官方文档后加上的,加上才能正确连接。zabbix API官方文档链接给大家附上:[https://www.zabbix.com/documentation/5.0/zh/manual/ap]( )(这个文档很重要,大家可以仔细阅读,后续,函数参数的选择等,也会用到这个文档)
### 2.5AbstractZabbixService 抽象类
接下来:AbstractZabbixService这个抽象类,其中包含了使用Zabbix API进行请求的方法和处理错误的方法。代码如下:
public abstract class AbstractZabbixService {
protected JSONObject zabbixRequest(ZabbixApi zabbixApi,Request request) throws Exception {
JSONObject response = zabbixApi.call(request); // 使用Za