Spring Boot常用依赖大全:从入门到精通

springboot

<!-- Spring Boot 的 Spring Web MVC 集成 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 注解校验代替ifelse -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- 测试 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency><!-- Spring boot 特殊处理包 -->
<dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>${reflections.version}</version>
</dependency>

接口文档

  • 这是一个 Spring Boot Starter,通过自动配置简化了 Swagger 的集成。
  • 用户只需添加依赖,无需手动配置 Docket Bean,适合快速集成。
<!-- Spring Boot 集成 swagger -->
<dependency><groupId>com.spring4all</groupId><artifactId>swagger-spring-boot-starter</artifactId>
</dependency>
  • 需要手动配置 Docket Bean,配置相对复杂。
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId>
</dependency>

由于 swagger-spring-boot-starterspringfox-swagger2 都存在维护问题,且不兼容 Spring Boot 3.x,推荐使用 SpringDoc OpenAPI 作为替代方案:

  • 特点
    • 完全支持 Spring Boot 3.x。
    • 基于 OpenAPI 3.0 标准。
    • 配置简单,与 Spring Boot 集成良好。
    • 社区活跃,维护状态良好。
<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.2.0</version> <!-- 使用最新版本 -->
</dependency>
  • 配置示例
    • 无需额外配置,SpringDoc 会自动扫描所有 @RestController 并生成 API 文档。
    • 访问 http://localhost:8080/swagger-ui.html 查看文档。

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>

数据库相关

mysql

<!-- MySQL 驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
</dependency>
<!-- mybatis plus的依赖 -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>

MongoDB

验证码

<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version>
</dependency>

redis

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.6.2</version>
</dependency>

分布式锁

<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.11.2</version>
</dependency>

lombok

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

微服务

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

远程调用微服务/熔断/降级

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

认证授权

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-security</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>

JSON 解析库

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId>
</dependency>

支付宝支付

<!-- 支付宝SDK -->
<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>3.7.73.ALL</version>
</dependency><!-- 支付宝SDK依赖的日志 -->
<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version>
</dependency>

二维码生成&识别组件

<!-- 二维码生成&识别组件 -->
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version>
</dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version>
</dependency>
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId>
</dependency>

消息中间件

一个放在生产方,一个放在消费方

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

kafka

image-20250608160943146

文件处理

<!--根据扩展名取mimetype-->
<dependency><groupId>com.j256.simplemagic</groupId><artifactId>simplemagic</artifactId><version>1.17</version>
</dependency>

日志相关

log.info()

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>

log4j2-dev.xml

排除 Logback 依赖:
Spring Boot Starter 默认包含 Logback,需要排除它。

<dependencies><!-- Spring Boot Starter Web(排除 Logback) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><!-- 添加 Log4j2 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>
</dependencies>

Spring Boot Starter Web 已经包含 Logback

  • Spring Boot 默认不会强制要求使用 logback-spring.xml,而是优先加载它(如果存在)。
  • 如果 logback-spring.xml 不存在,Spring Boot 会回退到加载 logback.xml(如果存在)。
  • 因此,即使不加 -spring 后缀,logback.xml 也能被读取,但会失去 Spring Boot 提供的增强功能。

如何加载 logback-dev.xml

方法 1:通过 logging.config 属性显式指定

  • Spring Boot 配置:

    • 在 Spring Boot 中,可以通过application.properties或application.yml

      指定自定义的 Logback 配置文件路径:

      # application.properties
      logging.config=classpath:logback-dev.xml
      

      # application.yml
      logging:config: classpath:logback-dev.xml
      
    • 这样,Spring Boot 会加载 logback-dev.xml 而不是默认的 logback-spring.xmllogback.xml

方法 2:通过 JVM 参数指定

  • 启动时传递参数

    • 在启动应用时,可以通过 JVM 参数指定 Logback 配置文件:

      bashjava -Dlogging.config=classpath:logback-dev.xml -jar your-app.jar
      
    • 这样,Logback 会加载指定的配置文件。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

如果需要单独配置 Logback,可以显式添加(但通常不需要):

<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId>
</dependency>

推荐做法

  • logback-spring.xml 中使用 <springProfile> 标签定义不同 Profile 的日志配置:

    <configuration><!-- 开发环境配置 --><springProfile name="dev"><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="DEBUG"><appender-ref ref="CONSOLE"/></root></springProfile><!-- 生产环境配置 --><springProfile name="prod"><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>./logs/app.log</file><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="INFO"><appender-ref ref="FILE"/></root></springProfile>
    </configuration>
    

    启动时指定 Profile:

    bashjava -Dspring.profiles.active=dev -jar your-app.jar
    

文件存储服务

<!-- 分布式文件系统 minIO的客户端API包 -->
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>${minio.version}</version>
</dependency>

任务相关

<!--分布式任务调度-->
<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${xxl-job-core.version}</version>
</dependency>

搜索

<!--elasticsearch-->
<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.4.0</version>
</dependency>
<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>7.4.0</version>
</dependency>
<dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.4.0</version>
</dependency>

nacos注册中心相关

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

页面静态化

image-20250525173512881

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>heima-leadnews-test</artifactId><groupId>com.heima</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>freemarker-demo</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- apache 对 java io 的封装工具库 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version></dependency></dependencies></project>

加密

<!--加密处理包-->
<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>${commons.codec.version}</version>
</dependency>

网关相关

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--jwt解析--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId></dependency>
</dependencies>

字符串操作

<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version> <!-- 使用最新版本 -->
</dependency>
// 判断token是否存在
if (StringUtils.isBlank(token)) {response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();
}

IO

<!-- apache 对 java io 的封装工具库 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version>
</dependency>

测试

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>
</dependency>

阿里云内容安全

内容安全1.0需要企业认证

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-green</artifactId>
</dependency>

内容安全增强版

<!--安装内容检测SDK-->
<dependency><groupId>com.aliyun</groupId><artifactId>green20220302</artifactId><version>2.1.0</version>
</dependency><!--安装OSS SDK-->
<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.16.3</version>
</dependency>

阿里视觉智能开发平台的审核功能

<dependency><groupId>com.aliyun</groupId><artifactId>imageaudit20191230</artifactId><version>2.0.6</version>
</dependency>
<dependency><groupId>com.aliyun</groupId><artifactId>viapi-utils</artifactId><version>1.0.2</version>
</dependency>

ocr

<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.1.1</version>
</dependency>
image-20250602204642947

序列化

image-20250608134605232

image-20250608135450394

<dependency><groupId>io.protostuff</groupId><artifactId>protostuff-core</artifactId><version>1.6.0</version>
</dependency>
<dependency><groupId>io.protostuff</groupId><artifactId>protostuff-runtime</artifactId><version>1.6.0</version>
</dependency>
/*** jdk序列化*/
public class JdkSerializeUtil {/*** 序列化* @param obj* @param <T>* @return*/public static <T> byte[] serialize(T obj) {if (obj  == null){throw new NullPointerException();}ByteArrayOutputStream bos = new ByteArrayOutputStream();try {ObjectOutputStream oos = new ObjectOutputStream(bos);oos.writeObject(obj);return bos.toByteArray();} catch (Exception ex) {ex.printStackTrace();}return new byte[0];}/*** 反序列化* @param data* @param clazz* @param <T>* @return*/public static <T> T deserialize(byte[] data, Class<T> clazz) {ByteArrayInputStream bis = new ByteArrayInputStream(data);try {ObjectInputStream ois = new ObjectInputStream(bis);T obj = (T)ois.readObject();return obj;} catch (Exception ex) {ex.printStackTrace();}return  null;}}
public class ProtostuffUtil {/*** 序列化* @param t* @param <T>* @return*/public static <T> byte[] serialize(T t){Schema schema = RuntimeSchema.getSchema(t.getClass());return ProtostuffIOUtil.toByteArray(t,schema,LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));}/*** 反序列化* @param bytes* @param c* @param <T>* @return*/public static <T> T deserialize(byte []bytes,Class<T> c) {T t = null;try {t = c.newInstance();Schema schema = RuntimeSchema.getSchema(t.getClass());ProtostuffIOUtil.mergeFrom(bytes,t,schema);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return t;}/*** jdk序列化与protostuff序列化对比* @param args*/public static void main(String[] args) {long start =System.currentTimeMillis();for (int i = 0; i <1000000 ; i++) {WmNews wmNews =new WmNews();JdkSerializeUtil.serialize(wmNews);}System.out.println(" jdk 花费 "+(System.currentTimeMillis()-start));start =System.currentTimeMillis();for (int i = 0; i <1000000 ; i++) {WmNews wmNews =new WmNews();ProtostuffUtil.serialize(wmNews);}System.out.println(" protostuff 花费 "+(System.currentTimeMillis()-start));}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统下安装elasticsearch6.8并配置ik分词

准备安装包和环境 jdk 由于es是基于java开发的所以需要安装jdk。如果没有安装的话 jdk8下载 下载后配置环境变量安装。 es es6.8下载地址 elasticsearch-6.8.14.tar.gz ik分词器 es分词器需要下载对应es版本的 elasticsearch-analysis-ik-6.8.14.zip 安装es es不推荐使…

OceanBase (DBA)一面面经

1. Oracle高可用和ob高可用&#xff0c;和他们的实现方式&#xff1f; 2.ob的三副本了解吗&#xff0c;ob的三副本怎么保障强一致的&#xff1f; 3.三副本能实现强一致吗&#xff1f; 4.了解ob的数据协调协议吗&#xff1f;说说原理 5.聊聊Oracle&#xff0c;讲一些SQL调优…

PyTorch框架详解(1)

目录 代码会放在每条解释的后面 一.概念&#xff1a; 2.张量的概念&#xff1a; 3.张量的创建 4.张量的数据类型及转换 二.tensor和numpy互转 三.张量的运算 四.索引的操作 五.张量形状操作 维度交换&#xff1a; 六.张量拼接操作 代码会放在每条解释的后面 一.概念…

Spring Boot 与 Kafka 的深度集成实践(一)

引言 ** 在当今的软件开发领域&#xff0c;构建高效、可靠的分布式系统是众多开发者追求的目标。Spring Boot 作为 Java 生态系统中极具影响力的框架&#xff0c;极大地简化了企业级应用的开发流程&#xff0c;提升了开发效率和应用的可维护性。它基于 Spring 框架构建&#…

PIN to PIN兼容设计:MT8370与MT8390核心板开发对比与优化建议

X8390 是基于联发科 MT8390 CPU 的一款开发板&#xff0c; MT8390 与 MT8370 是 PIN to PIN 的封装&#xff0c;可以共用一个核心 板。 MT8390 (Genio 700) 是一款高性能的边缘 AI 物联网平台&#xff0c;广泛应用于智能家居、交 互式零售、工业和商业等领域。它采用…

【论文解读】START:自学习的工具使用者模型

1st author: ‪Chengpeng Li‬ - ‪Google 学术搜索‬ paper: [2503.04625] START: Self-taught Reasoner with Tools code: 暂未公布 5. 总结 (结果先行) 大型语言推理模型&#xff08;Large Reasoning Models, LRMs&#xff09;在模拟人类复杂推理方面取得了显著进展&…

【GitOps】Kubernetes安装ArgoCD,使用阿里云MSE云原生网关暴露服务

🌟 ArgoCD是什么? ArgoCD是一款开源的持续交付(CD)工具,专门为Kubernetes环境设计。它采用GitOps理念,将Git仓库作为应用部署的唯一真实来源(SSOT),实现了声明式的应用部署和管理。 简单来说,ArgoCD就像是一位不知疲倦的"仓库管理员",时刻盯着你的Git仓库,…

三维重建 —— 1. 摄像机几何

文章目录 1. 针孔相机1.1. 针孔成像1.2. 光圈对成像的影响 2. 透视投影相机2.1. 透镜成像2.2. 失焦2.3. 径向畸变2.4. 透视投影的性质 3. 世界坐标系到像素坐标系的变换4. 其它相机模型4.1. 弱透视投影摄像机4.2. 正交投影摄像机4.3. 各种摄像机模型的应用场合 课程视频链接&am…

Linux基本指令(包含vim,用户,文件等方面)超详细

文章目录 Linux 基本指令前序Vim编辑器分为两种设计理念模式转化指令解释 Normal模式移动光标&#xff08;motion 核心&#xff09;常用指令 动作(action)常用指令将动作与移动进行组合 查找&#xff08;正则表达式&#xff09;替换&#xff08;substitude&#xff09;文本对象…

如何彻底删除Neo4j中的所有数据:完整指南

如何彻底删除Neo4j中的所有数据&#xff1a;完整指南 Neo4j作为领先的图数据库&#xff0c;在某些场景下我们需要完全清空数据库中的所有数据。本文将介绍多种删除Neo4j数据的有效方法&#xff0c;涵盖不同版本和部署方式的操作步骤。 一、Neo4j数据删除的常见需求场景 开发…

Keil无法下载程序到STM32 Error: Flash Download failed - Target DLL has been cancelled

背景 Keil通过st-link v2连接STM32&#xff0c;下载报错 Error: Flash Download failed - Target DLL has been cancelled 我有多台STM32需要下载程序&#xff0c;会出现这个问题 原因 应该是Keil保存了设备的相关信息&#xff0c;当换了设备之后下载就会出错 解决办法 断…

CIM和建筑风貌管控平台

2025年的雄安新区&#xff0c;中央绿谷的碧波倒映着现代建筑群&#xff0c;中国星网总部大厦的曲面幕墙与古风飞檐相映成趣。这座“未来之城”的每一处建筑肌理&#xff0c;都离不开一项关键技术——城市信息模型&#xff08;CIM&#xff09;与建筑风貌管控平台的支撑。从雄安到…

REBT 分类任务中,`loss`(损失值)和 `logits`(原始预测分数)是什么

REBT 分类任务中,loss(损失值)和 logits(原始预测分数)是什么 在分类任务中,loss(损失值)和 logits(原始预测分数)的含义及计算逻辑可以通过具体示例清晰解释。以下结合你提供的数值(loss=0.7478,logits=[-0.1955, -0.3021])进行说明 一、logits 的本质:未归一化…

6月13日day52打卡

神经网络调参指南 知识点回顾&#xff1a; 随机种子内参的初始化神经网络调参指南 参数的分类调参的顺序各部分参数的调整心得 作业&#xff1a;对于day41的简单cnn&#xff0c;看看是否可以借助调参指南进一步提高精度。 用“烧水调温”的日常场景来打比方&#xff1a; 每个…

穿越时空的刀剑之旅:走进VR刀剑博物馆​

VR 刀剑博物馆不仅仅是一个展示刀剑的场所&#xff0c;更是文化传承与教育的重要基地&#xff0c;在弘扬刀剑文化、增强民族文化认同感以及开展教育活动等方面发挥着不可替代的重要作用。​ 从文化传承的角度来看&#xff0c;刀剑文化源远流长&#xff0c;它承载着不同国家、不…

基于GA遗传优化的PID控制器最优控制参数整定matlab仿真

PID&#xff08;比例-积分-微分&#xff09;控制器是工业控制领域中最常用的控制器之一。通过调节PID控制器的三个参数&#xff1a;比例&#xff08;Kp&#xff09;、积分&#xff08;Ki&#xff09;和微分&#xff08;Kd&#xff09;&#xff0c;可以实现系统的稳定控制。然而…

华为OD最新机试真题-上班之路-OD统一考试(B卷)

题目描述 Jungle 生活在美丽的蓝鲸城,大马路都是方方正正,但是每天马路的封闭情况都不一样。地图由以下元素组成: .—空地,可以达到 *—路障,不可达到; S—Jungle的家。 T—公司;

大模型驱动数据分析革新:美林数据智能问数解决方案破局传统 BI 痛点

在数字化向智能化跃迁的时代浪潮中&#xff0c;大模型技术正驱动企业数据分析模式迎来颠覆性变革。传统自助式BI工具主导的数据分析模式&#xff0c;虽在降低分析门槛、提升报表开发效率层面发挥了一定作用&#xff0c;但随着数据应用场景的深化&#xff0c;其指标固化、响应滞…

(Note)基于Pytorch手搓RNN参考

Coding a Recurrent Neural Network (RNN) from scratch using PytorchPyTorch RNN from Scratch - Jake Taelearning pytorch 3: coding an RNN, GRU, LSTM | Kaggle

《网络安全与防护》知识点复习

✅ 一、网络安全基础&#xff08;CIA / AAA / 安全服务&#xff09; 概念快速记忆CIA 三元组机密性&#xff08;Confidentiality&#xff09;、完整性&#xff08;Integrity&#xff09;、可用性&#xff08;Availability&#xff09;安全服务&#xff08;OSI&#xff09;鉴别…