主题
集成与消息工具指南
依赖检查
使用前确认项目已引入 digitalhainan-tools 依赖:
xml
<dependency>
<groupId>cn.com.digitalhainan</groupId>
<artifactId>digitalhainan-tools</artifactId>
<version>${digitalhainan.version}</version>
</dependency>工具类索引
| 工具类 | 路径 | 功能 | 参考文档 |
|---|---|---|---|
| DingTalkRobotUtils | cn.com.digitalhainan.tools.dingtalk.DingTalkRobotUtils | 钉钉机器人消息发送 | dingtalk-utils.md |
| ApplicationContextUtils | cn.com.digitalhainan.tools.spring.ApplicationContextUtils | Spring 上下文获取与事件发布 | spring-context-utils.md |
| HttpUtils | cn.com.digitalhainan.tools.http.HttpUtils | HTTP 请求发送 | - |
场景选择速查
| 场景 | 推荐工具类 |
|---|---|
| 发送钉钉文本/Markdown/链接/卡片消息 | DingTalkRobotUtils |
| 在非 Spring 管理的类中获取 Bean | ApplicationContextUtils |
| 发布应用事件 | ApplicationContextUtils |
| 获取配置属性 | ApplicationContextUtils |
| 发送 HTTP GET/POST 请求 | HttpUtils |
钉钉消息速查
java
import cn.com.digitalhainan.tools.dingtalk.DingTalkRobotUtils;
// 发送文本消息
DingTalkRobotUtils.sendText(webhookUrl, "测试消息");
// 发送 Markdown 消息
DingTalkRobotUtils.sendMarkdown(webhookUrl, "标题", "## 内容");
// 发送 ActionCard(审批通知)
DingTalkRobotUtils.sendActionCard(webhookUrl, "审批通知", "内容", "查看", "https://...");
// 加签安全设置
String signUrl = DingTalkRobotUtils.buildSignUrl(webhookUrl, secret);
DingTalkRobotUtils.sendText(signUrl, "加签消息");Spring 上下文速查
java
import cn.com.digitalhainan.tools.spring.ApplicationContextUtils;
// 获取 Bean
UserService userService = ApplicationContextUtils.getContext()
.getBean(UserService.class);
// 获取配置
String appName = ApplicationContextUtils.getContext()
.getEnvironment().getProperty("spring.application.name");
// 发布事件
ApplicationContextUtils.publishEvent(new OrderCreatedEvent(this, orderId, userId));Do's and Don'ts
| Do(推荐做法) | Don't(避免做法) |
|---|---|
| 优先使用依赖注入获取 Bean,工具类作为备选 | 在所有场景中都通过工具类获取 Bean |
| 钉钉机器人使用加签安全设置 | 使用不加签的 webhook 地址 |
应用启动完成后再调用 getContext() | 在 Spring 初始化完成前调用 |
HttpUtils 生产环境配置真实 HTTPS 证书 | 信任所有 HTTPS 证书上线生产 |
参考文档
| 文档 | 内容 |
|---|---|
| dingtalk-utils.md | 钉钉机器人完整消息示例(文本/Markdown/链接/ActionCard/FeedCard/加签) |
| spring-context-utils.md | Spring 上下文获取、Bean 获取、配置读取、事件发布、单元测试 |
