springcloud 整合swagger文档教程

我用的是nacos和gateway

我的模块

父依赖没什么太大关系如果出现版本冲突问题可用参考我的依赖版本
 

<?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"><modelVersion>4.0.0</modelVersion><groupId>com.heima</groupId><artifactId>dataFactory</artifactId><packaging>pom</packaging><version>1.0.0</version><modules><module>apiService</module><module>databaseService</module><module>codeService</module><module>dataAssetService</module><module>dataStandardService</module><module>accountService</module><module>cloud-getway</module><module>cloud-swwager</module><module>cloud-common</module><module>cloud-api</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><org.projectlombok.version>1.18.20</org.projectlombok.version><spring-cloud.version>2021.0.3</spring-cloud.version><spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version><mybatis-plus.version>3.4.3</mybatis-plus.version><hutool.version>5.8.10</hutool.version><mysql.version>8.0.23</mysql.version><jjwt.version>0.9.1</jjwt.version><nimbus-jose-jwt.version>9.8.1</nimbus-jose-jwt.version></properties><!-- 对依赖包进行管理 --><dependencyManagement><dependencies><!--spring cloud--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--spring cloud alibaba--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- 数据库驱动包管理 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- mybatis plus 管理 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency><!-- jwt --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><dependency><groupId>com.nimbusds</groupId><artifactId>nimbus-jose-jwt</artifactId><version>${nimbus-jose-jwt.version}</version></dependency>
<!--            <dependency>-->
<!--                <groupId>org.reflections</groupId>-->
<!--                <artifactId>reflections</artifactId>-->
<!--               <version>0.9.12</version>-->
<!--            </dependency>--></dependencies></dependencyManagement><dependencies><!-- lombok 管理 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${org.projectlombok.version}</version></dependency><!--单元测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>11</source> <!-- depending on your project --><target>11</target> <!-- depending on your project --></configuration></plugin></plugins></pluginManagement></build>
</project>

开始配置以我的code模块为例

加入swagger依赖

  <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version></dependency><!-- 为Spring Boot应用程序提供Swagger UI,用于可视化展示和测试Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>3.0.0</version></dependency><!--    swagger-ui  这里是用了一个好看一点ui界面--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.9.6</version></dependency>

和两个配置类

package com.cqie.conf;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
//import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;import java.util.*;@ComponentScan
@Configuration
@EnableSwagger2
@Profile(value = {"dev","test"})
public class SwaggerAutoCofniguration {@Autowiredprivate SwaggerProperties properties;//配置了Swagger的Docket的bean实例//enable是否启动swagger,如果为False则Swagger不能在浏览器访问@Beanpublic Docket docket() {Set<String> set = new HashSet<>();set.add("https");set.add("http");return new Docket(DocumentationType.SWAGGER_2).pathMapping("/").enable(true)//定义是否开启swagger,false为关闭,可以通过变量控制// 微信关注开发者技术前线:定义是否开启swagger,false为关闭,可以通过变量控制.apiInfo(apiInfo())//将api的元信息设置为包含在json ResourceListing响应中。.select().apis(RequestHandlerSelectors.basePackage(properties.getBasePackage()))//paths()过滤什么路径.paths(PathSelectors.any()).build().protocols(set)// 支持的通讯协议集合.securitySchemes(securitySchemes())// 授权信息设置,必要的header token等认证信息.securityContexts(securityContexts());// 授权信息全局应用}//配置Swagger 信息 = ApiInfoprivate ApiInfo apiInfo(){//作者信息Contact contact = new Contact(properties.getAuthor().getName(),properties.getAuthor().getUrl(),properties.getAuthor().getEmail());return new ApiInfo(properties.getApiInfo().getTitle(),properties.getApiInfo().getDescription(),properties.getApiInfo().getVersion(),properties.getApiInfo().getTermsOfServiceUrl(),contact,properties.getApiInfo().getLicense(),properties.getApiInfo().getLicenseUrl(),new ArrayList<>());}/*** 设置授权信息*/private List<SecurityScheme> securitySchemes(){List<ApiKey> result = new ArrayList<>();//添加OAuth2的令牌认证ApiKey apiKey = new ApiKey("Authorization","Authorization" ,"Header" );result.add(apiKey);return  Collections.singletonList(apiKey);}/*** 授权信息全局应用*/private List<SecurityContext> securityContexts() {return Collections.singletonList(SecurityContext.builder().securityReferences(Collections.singletonList(new SecurityReference("Authorization",new AuthorizationScope[]{new AuthorizationScope("global", "Authorization")}))).build());}}
package com.cqie.conf;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@ConfigurationProperties(prefix = SwaggerProperties.PREFIX)
@Component
@EnableConfigurationProperties
public class SwaggerProperties {public static final String PREFIX="spring.swagger";//包private String basePackage;//作者相关信息private Author author;//API的相关信息private ApiInfo apiInfo;@Datapublic static class ApiInfo{String title;String description;String version;String termsOfServiceUrl;String license;String licenseUrl;}@Datapublic static class Author{private String name;private String email;private String url;}
}

其他的是你自己模块中的spring-boot-starter依赖等

然后再该模块的启动类上加 

@EnableSwagger2 注解

我的

pom依赖

<?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"><modelVersion>4.0.0</modelVersion><parent><groupId>com.heima</groupId><artifactId>dataFactory</artifactId><version>1.0.0</version></parent><groupId>org.cqie</groupId><artifactId>codeService</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--        &lt;!&ndash;Swagger相关&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>io.springfox</groupId>-->
<!--            <artifactId>springfox-swagger2</artifactId>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>io.springfox</groupId>-->
<!--            <artifactId>springfox-swagger-ui</artifactId>-->
<!--        </dependency>--><dependency><groupId>com.heima</groupId><artifactId>cloud-swwager</artifactId><version>1.0.0</version></dependency><dependency><groupId>com.heima</groupId><artifactId>cloud-common</artifactId><version>1.0.0</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 我是将swagger单独作为一个模块后面会说到

我的启动类

其他的就看你自己的需求了

我的yml文件

server:port: 8081servlet:context-path: /code
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplspring:application:name: service-codecloud:nacos:server-addr: 自己nacosip:8848
#      discovery:
#        server-adder: ${spring.cloud.nachos.server-adder}
#        password: cqhlglnacos
#        username: nacos# mysqldatasource:username: data_factorypassword: data_factoryurl: jdbc:mysql://数据库ip:3306/data_factory?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true&useSSL=false&useLegacyDatetimeCode=falsedriver-class-name: com.mysql.cj.jdbc.Driverswagger:basePackage: com.cqie.controllerauthor:name: xxxxemail: @qq.comurl:apiInfo:title: 码表管理模块description: 码表相关的接口version: 1.0termsOfServiceUrl: http://ip:${server.port}/${spring.application.name}license: licenselicenseUrl: licenseUrlprofiles:active: dev

主要的地方是

servlet:context-path: 自己写一个项目名字
application:name: 自己的应用程序名称 要是 任意一个名称-上面项目名称 (最好小写)
swagger:basePackage: 标注你controller的位置

其他的没太多要求

然后运行该模块浏览器访问localhost:8081/code/v2/api-docs(就是ip:该项目端口号/项目名字/v2/api-docs)

像我这样出现数据就行了(有数据不报错就行不用和我一样)

 然后网关配置

依赖xml

除了你自己的一些依赖加上swagger依赖

            <!-- 用于在Spring Boot应用程序中生成和展示Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version></dependency><!-- 为Spring Boot应用程序提供Swagger UI,用于可视化展示和测试Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>3.0.0</version></dependency><!--swagger-ui  这里是用了一个好看一点ui界面--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.9.6</version></dependency>

然后加入配置类

package com.cqie.conf;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import springfox.documentation.swagger.web.SwaggerResource;
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;/*** 网关的swagger的配置类*/
@Component
@Primary
public class GatewaySwaggerResourcesProvider implements SwaggerResourcesProvider {/*** swagger3默认的url后缀*/private static final String SWAGGER2URL = "/v2/api-docs";/*** 网关路由*/@Autowiredprivate  RouteLocator routeLocator;/*** 网关应用名称*/@Value("${spring.application.name}")private String self;/*** 对于gateway来说这块比较重要 让swagger能找到对应的服务*/@Overridepublic List<SwaggerResource> get() {List<SwaggerResource> resources = new ArrayList<>();List<String> routeHosts = new ArrayList<>();// 获取所有可用的host:serviceIdrouteLocator.getRoutes().filter(route -> route.getUri().getHost() != null).filter(route -> !self.equals(route.getUri().getHost())).subscribe(route -> routeHosts.add(route.getUri().getHost()));// 记录已经添加过的serverSet<String> dealed = new HashSet<>();routeHosts.forEach(instance -> {String url=null;// 拼接urlif (instance.contains("-")) {url = "/" + instance.toLowerCase().split("-")[1] + SWAGGER2URL;}System.out.println("url = " + url);if (!dealed.contains(url)) {dealed.add(url);SwaggerResource swaggerResource = new SwaggerResource();swaggerResource.setUrl(url);swaggerResource.setName(instance);resources.add(swaggerResource);}});return resources;}
}

再加上上面模块的配置类就是这两个

也可以像我这样建一个swagger模块放这两个配置类

getaway引入就行了

他的xml

<?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>dataFactory</artifactId><groupId>com.heima</groupId><version>1.0.0</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-getway</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><version>3.1.3</version></dependency><!-- 端点监控 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--  nacos注册中⼼--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.heima</groupId><artifactId>cloud-swwager</artifactId><version>1.0.0</version></dependency><!-- 用于在Spring Boot应用程序中生成和展示Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version></dependency><!-- 为Spring Boot应用程序提供Swagger UI,用于可视化展示和测试Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>3.0.0</version></dependency><!--swagger-ui  这里是用了一个好看一点ui界面--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.9.6</version></dependency>
<!--      <dependency>-->
<!--          <groupId>io.springfox</groupId>-->
<!--          &lt;!&ndash;提供了使用Swagger和OpenAPI规范创建API文档的支持。&ndash;&gt;-->
<!--          <artifactId>springfox-boot-starter</artifactId>-->
<!--          <version>3.0.0</version>-->
<!--      </dependency>--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId></dependency><dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.9.11</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 而下面这个配置类只有网关加

 

网关yml

我的yml

spring:application:name: cloud-getwaycloud:nacos:discovery:server-addr: 自己nacosip:8848
#        password: cqhlglnacos
#        username: nacosgateway:discovery:locator:enabled: truelower-case-service-id: trueroutes:- id: service-codeuri: lb://service-codepredicates:- Path=/code/**- id: service-apiuri: lb://service-apipredicates:- Path=/api/**- id: service-databaseuri: lb://service-databasepredicates:- Path=/database/**- id: service-accounturi: lb://service-accountpredicates:- Path=/account/**- id: service-standarduri: lb://service-standardpredicates:- Path=/standard/**- id: service-asseturi: lb://service-assetpredicates:- Path=/asset/**
#          filters:
###            - RewritePath=/code/(?<segment>.*),/$\{segment} # 将请求路径重写为实际的服务路径
#            - StripPrefix=1 # 剥离路径swagger:basePackage: com.cqie.controllerauthor:name: xxxxemail: xxx@qq.comurl:apiInfo:title: 网关模块description: 网关version: 1.0termsOfServiceUrl: http://ip:${server.port}/${spring.application.name}license: license2licenseUrl: licenseUrl2profiles:active: dev#          filters:# 前缀过滤,默认配置下,我们的请求路径是 http://localhost:8888/business-oauth2/** 这时会路由到指定的服务# 此处配置去掉 1 个路径前缀,再配置上面的 Path=/api/**,就能按照 http://localhost:8888/api/** 的方式访问了
#            - StripPrefix=1 # 剥离路径
#        - id: swagger_route
#          uri: http://localhost:8090
#          predicates:
#            - Path=/swagger-ui/**
#          filters:
#            - RewritePath=/swagger-ui/(?<segment>.*),/$\{segment}
#        - id: global_swagger_route
#          uri: http://localhost:8090
#          predicates:
#            - Path=/global-swagger-ui/**
#          filters:
#            - RewritePath=/global-swagger-ui/(?<segment>.*),/$\{segment}
server:#gateway的端⼝port: 8090

 网关启动类

运行gateway 浏览器访问
ip:网关端口号/dochtml

就可以访问了

像这样多配置几个服务模块就行了点击进行切换

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

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

相关文章

node.js服务器动态资源处理

一、node.js服务器动态资源处理与静态资源处理的区别&#xff1f; 静态与动态服务器主要区别于是否读取数据库&#xff0c;若然在数据库中的资料处理中将数据转换成可取用格式的结构&#xff0c;也就是说把对象转化为可传输的字节序列过程称为序列化&#xff0c;反之则为反序列…

SiLM5350系列带米勒钳位的单通道隔离驱动器 助力汽车与工业应用实现稳定与高效的解决方案

带米勒钳位的隔离驱动SiLM5350系列 单通道 30V&#xff0c;10A 带米勒钳位的隔离驱动 具有驱动电流更大、传输延时更低、抗干扰能力更强、封装体积更小等优势, 为提高电源转换效率、安全性和可靠性提供理想之选。 SiLM5350系列产品描述&#xff1a; SiLM5350系列是单通道隔离驱…

TLS v1.3 导致JetBrains IDE jdk.internal.net.http.common CPU占用高

开发环境 GoLand版本&#xff1a;2022.3.4 问题原因 JDK 中的 TLS v1.3 实现引起 解决办法 使用 SOCKS 代理代替HTTP代理 禁用 Space 和 Code With Me 插件 禁用 TLS v1.3&#xff0c;参考&#xff1a;https://stackoverflow.com/questions/54485755/java-11-httpclient-…

IEDA 的各种常用插件汇总

目录 IEDA 的各种常用插件汇总1、 Alibaba Java Coding Guidelines2、Translation3、Rainbow Brackets4、MyBatisX5、MyBatis Log Free6、Lombok7、Gitee IEDA 的各种常用插件汇总 1、 Alibaba Java Coding Guidelines 作用&#xff1a;阿里巴巴代码规范检查插件&#xff0c;…

基于小程序实现的4s店管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

vs配置opencv运行时“发生生成错误,是否继续并运行上次的成功生成”BUG解决办法

vs“发生生成错误&#xff0c;是否继续并运行上次的成功生成” 新手在用vs配置opencv时遇到这个错误时&#xff0c;容易无从下手解决。博主亲身经历很有可能是release/debug模式和配置文件不符的问题。 在配置【链接器】→【输入】→【附加依赖项】环节&#xff0c;编辑查看选择…

论文笔记:The Expressive Power of Transformers with Chain of Thought

ICLR 2024 reviewer 评分 6888【但是chair 很不喜欢】 1 intro 之前的研究表明&#xff0c;即使是具有理想参数的标准Transformer&#xff0c;也无法完美解决许多大规模的顺序推理问题&#xff0c;如模拟有限状态机、判断图中的节点是否相连&#xff0c;或解决矩阵等式问题 这…

解决jenkins运行sh报process apparently never started in XXX

个人记录 问题 process apparently never started in /var/jenkins_home/workspace/ks-springboot_mastertmp/durable-bbfe5f99(running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICStrue might make the problem cl…

突破界限 千视将在 NAB 2024 展会上展示领先的 AV over IP 技术

突破界限&#xff01;千视将在 NAB 2024 展会上展示领先的 AV over IP技术 作为AV over IP领域的先驱者&#xff0c;Kiloview将于2024年4月14日至17日在NAB展会&#xff08;展台号&#xff1a;SU6029&#xff09;隆重登场&#xff0c;展示我们领先业界的AV over IP产品、解决方…

你要的fiddler快捷键全部在这里了,学最全的快捷键,做最快的IT程序员

一、常用三个快捷键 ctrlX :清空所有记录 CtrlF&#xff1a;查找 F12&#xff1a;启动或者停止抓包 使用 QuickExec Fiddler2 成了网页调试必备的工具&#xff0c;抓包看数据。Fiddler2自带命令行控制。 fiddler 命令行快捷键&#xff1a;ctrl q &#xff0c;然后 输入 help…

C++从入门到精通——const与取地址重载

const与取地址重载 前言一、const正常用法const成员函数问题const对象可以调用非const成员函数吗非const对象可以调用const成员函数吗const成员函数内可以调用其它的非const成员函数吗非const成员函数内可以调用其它的const成员函数吗总结 二、取地址及const取地址操作符重载概…

ubuntu 更改 ssh 默认端口 22 以加固安全

出于加固安全考虑&#xff0c;一般公司会禁用 ssh 的 22 端口号&#xff0c;因此我们需要改为其他端口。 1、ssh 命令行登录 进入台式机&#xff0c;修改 /etc/ssh/sshd_config 文件中的 Port 配置行&#xff0c;将 22 改为 8022&#xff0c;保存修改后&#xff0c;重启 ssh 服…

c++的学习之路:24、 二叉搜索树概念

摘要 本章主要是讲一下二叉搜索树的实现 目录 摘要 一、二叉搜索树概念 二、 二叉搜索树操作 1、二叉搜索树的查找 2、二叉搜索树的插入 3、二叉搜索树的删除 三、二叉搜索树的实现 1、插入 2、中序遍历 3、删除 4、查找 四、二叉搜索树的递归实现 1、插入 2、删…

LLM推理框架Triton Inference Server学习笔记(二): Triton模型部署流程(stey by stey)

官方文档查阅: TritonInferenceServer文档 1. 写在前面 上一篇文章对triton inference server进行了一个整体的介绍&#xff0c;解答了三个经典问题what, why, how。 这篇文章就开始转入实践&#xff0c; 从实践的角度整理Triton模型部署的全流程&#xff0c; 如果我有一个训…

华为 2024 届实习招聘——硬件-电源机试题(四套)

华为 2024 届实习招聘——硬件-电源机试题&#xff08;四套&#xff09; 部分题目分享&#xff0c;完整版带答案(有答案&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共四套&#xff09; 获取&#xff08;WX:didadidadidida313&…

AcWing 796. 子矩阵的和——算法基础课题解

AcWing 796. 子矩阵的和 题目描述 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2&#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n&…

Easy GIS .NET GMap.Net

Easy GIS .NET & GMap.Net .NET 环境下非常简单的GIS地图开发库。 Easy GIS .NET 一个简单的GIS 桌面应用程序&#xff0c;实现了地图瓦片加载、shapefile文件和csv文件加载渲染、地图坐标系统设置及转换等等基本功能&#xff0c;非常简单易用。 Easy GIS .NET is an o…

Linux CentOS 安装 MySQL 服务教程

Linux CentOS 安装 MySQL 服务教程 1. 查看系统和GNU C库(glibc)版本信息 1.1 查询机器 glibc 版本信息 glibc&#xff0c;全名GNU C Library&#xff0c;是大多数Linux发行版中使用的C库&#xff0c;为系统和应用程序提供核心的API接口。在Linux系统中&#xff0c;特别是在…

基于Springboot+Vue+Spring-Security+高德地图API的校园出行管理系统

1介绍 1.1编写目的 明确系统功能与操作流程&#xff0c;说明书提供了详细的系统功能描述和操作指南&#xff0c;使得用户能够了解如何通过系统申请请假、审批流程以及如何管理和监控请假记录等。 1.2文档范围 该文档的目的是解决整个项目系统中“做什么”的问题。对于开发技…

Mybatis-plus中的分页操作

Mybatis-plus中的分页操作 1.导入Mybatis-plus依赖2.创建mybatis配置类3.参数 1.导入Mybatis-plus依赖 因为是一个springboot项目&#xff0c;其中的pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns&q…