springcloud配置详解

2023-11-11

在这里插入代码片## 1. 版本信息,父项目,依赖管理
pom文件

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath/> <!‐‐ lookup parent from repository ‐‐>
</parent>
<properties>
<project.build.sourceEncoding>UTF‐8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF‐8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring‐cloud.version>Edgware.SR3</spring‐cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐dependencies</artifactId>
<version>${spring‐cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
</plugins>
</build>

2. eureka-注册中心

  1. pom添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka‐server</artifactId>
</dependency>
  1. 启动类增加注解

@EnableEurekaServer

  1. 配置文件中增加application.yml
server:
port: 自定义
#eureka注册中心配置
eureka:
instance.hostname: localhost #一般为域名
client:
register‐with‐eureka: false
fetch‐registry: false
server:
enable‐self‐preservation: false
eviction‐interval‐timer‐in‐ms: 3000
  1. 启动Eureka,并访问 域名:端口号,如下

    http://localhost:8080

3.eureka-客户端-user

01 pom文件

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka‐server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐feign</artifactId>
</dependency>

02 启动类注解增加

@EnableEurekaClient // 开启客户端注解
@EnableFeignClients // 开启服务之间调用 采用feign

03 在application.yml中增加

server:
port: xxx
spring:
application:
name: user‐service #服务名
#连接注册中心
eureka:
client:
service‐url:
defaultZone: http://localhost:8080/eureka/
instance:
prefer‐ip‐address: true #支持域名直接解析ip

04 新增api接口模块,增加接口

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐web</artifactId>
</dependency>
/**
*
* @param str 简单数据类型必须增加@RequestParam注解
* @return
*/
@RequestMapping("sayHello")
String sayHello(@RequestParam("str") String str);
05 回到本项目中,pom依赖api接口模块,并实现接口
@RestController
@Service
public class UserServiceImpl implements UserService{
@Override
public String sayHello(String str) {
// throw new RuntimeException();
return "hello,user1,"+str;
}
}

4.服务调用(调用user服务为例)

01 在调用的项目中依赖api模块
02 pom中增加

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka‐server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐feign</artifactId>
</dependency>

03 在启动类增加

@EnableEurekaClient
@EnableFeignClients

04 application配置文件中增加

server:
port: xxx
spring:
application:
name: xxxxxx
#连接注册中心
eureka:
client:
service‐url:
defaultZone: http://localhost:8080/eureka/
instance:
prefer‐ip‐address: true #支持域名直接解析ip

05 创建client包,新增UserServiceClient类

/**
* FeignClient中value的值为调用服务的配置文件中的spring.application.name的值
*/
@FeignClient(value = "user‐service")
public interface UserServiceClient extends UserService {
}

06 在controller中调用,注入Client

@Autowired
private UserServiceClient userService;

5. 网关配置zuul

01 在pom中新增

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka</artifactId>
</dependency>

02 在bootstrap.yml配置文件中新增

server:
port: 6064
spring:
application:
name: dj‐zull # 配置中心的名称
#连接注册中心
eureka:
client:
service‐url:
defaultZone: http://localhost:6060/eureka/
instance:
prefer‐ip‐address: true #支持域名直接解析ip
zuul:
add‐host‐header: true
forceOriginalQueryStringEncoding: true
prefix: /api #访问前缀
host:
socket‐timeout‐millis: 100000
connect‐timeout‐millis: 100000
routes:
user‐route: #名称自定义,必须为xxx‐route
path: /user/** #访问路径
sensitive‐headers: "*"
serviceId: user‐service #user服务的名称
custom‐sensitive‐headers: true
order‐route:
path: /order/**
sensitive‐headers: "*"
serviceId: order‐service #order服务的名称
custom‐sensitive‐headers: true
#如果还有则在继续添加

03 在启动类中增加

@EnableZuulProxy
@EnableEurekaClient

6.熔断器hystrix

01 在需要使用熔断器的项目中的pom增加

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐hystrix</artifactId>
</dependency>

02 在配置文件中新增

#断路器配置
circuitBreaker:
# 请求总数下限
requestVolumeThreshold: 20
# 休眠时间窗
sleepWindowInMilliseconds: 3000
# 错误百分比下限
errorThresholdPercentage: 50
feign:
hystrix:
enabled: true

03 新增熔断类,xxxxFallBack,该类实现客户端接口,如

UserServiceClientFailBack
@Component
public class UserServiceClientFailBack implements UserServiceClient

04 在客户端接口中的@FeignClient注解中新增属性

@FeignClient(value = "user‐service",fallback = UserServiceClientFailBack.class)

7.统一配置中心(gitlab)

01 在git中新增项目,复制项目的路径

02 项目使用配置中心,需要将application.yml更改为
bootstrap.yml(两个文件可以共存,bootstrap里只需要配置注
册中心以及配置中心的配置即可,项目启动时bootstrap优先级
高)
03 pom文件中增加

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐config‐server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka</artifactId>
</dependency>

04 在启动类中增加

@EnableConfigServer
@EnableEurekaClient

05 在配置文件中 bootstrap.yml 新增

server:
port: xxx
eureka:
client:
service‐url:
defaultZone: http://localhost:8080/eureka/
instance:
prefer‐ip‐address: true
spring:
application:
name: dj‐config # 配置中心的名称
cloud:
config:
server:
git:
uri: https://gitlab.com/herogosup/dj‐cloud‐config‐repo.git #gitlib地址
username: #gitlib的用户名 和 密码 如果是public 项目,则不需要写
password:
06 在调用统一配置中心的项目中调用配置,如user服务中调用统
06 在调用统一配置中心的项目中调用配置,如user服务中调用统
一配置中心,如调用配置中心的test-dev.yml
spring:
cloud:
config:
discovery:
enabled: true
serviceId: dj‐config #配置中心的名称
name: test #名称前缀
profile: dev #名称后缀

07 在调用统一配置中心的项目中pom文件增加

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐config</artifactId>
</dependency>

8.SpringCloud-pom需要内容

需要eureka,无论注册中心还是客户端

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐eureka‐server</artifactId>
</dependency>

需要Fegin,服务调用

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐feign</artifactId>
</dependency>

需要配置统一配置中心ConfigServer

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐config</artifactId>
</dependency>

需要zuul,路由

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐zuul</artifactId>
</dependency>

需要熔断器,hystrix

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐hystrix</artifactId>
</dependency>

9. SpringCloud配置需要的内容

服务名
spring:
application:
name: order‐service
注册中心
@EnableEurekaServer
#eureka注册中心配置
eureka:
instance.hostname: localhost #一般为域名
client:
register‐with‐eureka: false
fetch‐registry: false
server:
# 自我保护
enable‐self‐preservation: false
# 扫描失效服务间隔
eviction‐interval‐timer‐in‐ms: 3000
客户端
#连接注册中心
eureka:
client:
service‐url:
defaultZone: http://localhost:8080/eureka/
instance:
prefer‐ip‐address: true #支持域名直接解析ip

10.swagger

01 依赖信息

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox‐swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox‐swagger‐ui</artifactId>
<version>2.8.0</version>
</dependency>

02 配置swagger

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2Config {
//是否开启swagger,正式环境一般是需要关闭的,从配置文件中读取
@Value(value = "${swagger.enabled}")
Boolean swaggerEnabled;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
// 是否开启
.enable(swaggerEnabled).select()
// 扫描的路径包
.apis(RequestHandlerSelectors.basePackage("com.dj.cloud.web"))
// 指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any()).build().pathMapping("/");
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swaggerdemo")
.description("test")
// 作者信息
.contact(new Contact("Liuyl", "https://www.baidu.cn",
"qqq@163.com"))
.version("1.0.0")
.build();
}
}
03 常用注解
// 配置在类上,针对于这个类的描述
@Api(tags = "订单api")
@ApiOperation:用在方法上,说明方法的作用
value: 表示接口名称
notes: 表示接口详细描述
@ApiImplicitParams:用在方法上包含一组参数说明
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
paramType:参数位置
header 对应注解:@RequestHeader
query 对应注解:@RequestParam
path 对应注解: @PathVariable
body 对应注解: @RequestBody
name:参数名
dataType:参数类型
required:参数是否必须传
value:参数的描述
defaultValue:参数的默认值
paramType:参数放在哪个地方
∙ header ‐‐> 请求参数的获取:@RequestHeader
∙ query ‐‐>请求参数的获取:@RequestParam
∙ path(用于restful接口)‐‐> 请求参数的获取:@PathVariable
∙ body(不常用)
∙ form(不常用

http://localhost:8081/swagger‐ui.html

11. 总结

springboot,springcloud都是微服务框架,Spring Boot 的核心思想
就是约定大于配置,Spring Boot 应用只需要很少的 Spring 配置,采用
Spring Boot 可以大大的简化你的开发模式,所有你想集成的常用框架,它都有
对应的组件支持。他默认支持模板的是html,数据需要通过thymeleaf来渲染。

在和mybatis整合时,sql语句有三种写法,常见的接口和xml,注解式(不
建议使用),注解+类,这三种方式,我们在项目中使用的一个mybatis-plus这
个插件,这个插件没有任何侵入,只需要在对应的层继承相关的东西就能完成单
表的CRUD。

Spring Cloud 是完全基于 Spring Boot 而开发,像springcloud就是跟
dubbo一样的都是实现分布式服务,模块主要分为eureka(注册中心)、熔断
器(hystrix)、配置中心(config)、路由(zuul),我们在项目中使用的模
块,每个模块都需要依赖注册中心,服务模块之间的调用都是通过feign实现
的。
还有一些就是在操作的时候需要注意的:使用fegin调用服务时请求方式默
认都是post,简单数据类型需要加@RequertParm注解才能接收到,fegin使用
@RepsonseBady默认返回的数据格式为xml,在PostMapping里添加属性即
可返回json。
注册中心没啥说的,模块都需要依赖他。
熔断器,其实就是在Feign中来配置的,主要是解决分布式系统交互时超时
处理和容错的类库,使用熔断器预防服务雪崩,我在项目配置的熔断器是20个
请求,错误百分比50%以上,3秒内如果还没有返回则进入到熔断器处理,在熔
断器中记录日志
配置中心就是配置一些公共的配置。其实除了配置中心以及注册中心的配
置在本地,其他几乎都在配置中心也就是gitlab上,但是要注意,如果使用配置
中心,一般情况我们会把配置文件的名称改为boostrap.yml,让项目启动时先
去加载
路由就是同一个端口可以调用他配置信息里不同模块的提供的url。如果没
有他,调用我的人就需要记录我每个服务器的url,很麻烦,这时路由的好处就
出现了,只需要访问我的路由,由我的路由去转发请求,请求我 不同的服务

常用注解:

@springbootapplication、@EnableEurekaServer、
@EnableEurekaClient、@EnableFeignClients、@EnableZuulProxy

swagger2: https://www.cnblogs.com/exmyth/p/7171857.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springcloud配置详解 的相关文章

  • 上传进度条 Java Servlet?

    我想使用 servlet 显示上传进度条 我尝试过Ajax iFrame 技术 页面没有重新加载 文件也被上传 但是 进度条没有出现 有没有可用于 javaservlts 的 jQuery 进度插件 Thanks 我强烈推荐jQuery 上
  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • 如何以编程方式使用包含多列的 where-in 子句执行 PostgreSQL 查询?

    我的查询是这样的 select from plat customs complex where code t code s in 01013090 10 01029010 90 它在 psql 控制台中运行良好 我的问题是如何在客户端代码中
  • 查看Java Agent修改的Java类的源代码

    我需要了解 Java 代理如何修改我的初始类 以便我能够理解代码的作用 build gradle configurations jar archiveName agent2 jar jar manifest attributes Prema
  • 通过Zuul上传大文件

    我在通过 zuul 上传大文件时遇到问题 我正在使用 apache commons 文件上传 https commons apache org proper commons fileupload https commons apache o
  • 如何使用 Java 引用释放 Java Unsafe 内存?

    Java Unsafe 类允许您按如下方式为对象分配内存 但是使用此方法在完成后如何释放分配的内存 因为它不提供内存地址 Field f Unsafe class getDeclaredField theUnsafe Internal re
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • 为什么在将 String 与 null 进行比较时会出现 NullPointerException?

    我的代码在以下行中出现空指针异常 if stringVariable equals null 在此语句之前 我声明了 stringVariable 并将其设置为数据库字段 在这个声明中 我试图检测该字段是否有null值 但不幸的是它坏了 有
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • Tomcat 6 未从 WEB-INF/lib 加载 jar

    我正在尝试找出我的 tomcat 环境中的配置问题 我们的生产服务器正在运行 tomcat 安装并从共享 NFS 挂载读取战争 然而 当我尝试使用独立的盒子 及其配置 进行同样的战争时 我收到下面发布的错误 有趣的是 如果我将 WEB IN
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • java实现excel价格、收益率函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • titledBorder 标题中的图标

    您好 是否可以在 titledBorder 的标题中放置一个图标 例如以下代码 import java awt GridLayout import javax swing JFrame import javax swing JLabel i
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上

随机推荐

  • python坐标轴拉伸_python – matplotlib(mplot3d) – 如何在3D图中增加轴的大小(拉伸)?...

    下面的代码示例提供了一种相对于其他轴缩放每个轴的方法 但是 要做到这一点 您需要修改Axes3D get proj函数 下面是一个基于matplot lib http matplotlib org 1 4 0 mpl toolkits mp
  • QT信号槽原理(二)moc代码中的信号槽部分

    目录 前言 moc代码详解 原始代码 emit宏 moc后代码 moc出的信号函数 QMetaObject activate doactive 第一步 获取该信号的所有连接 第二步 遍历每一个连接 第三步 判断发送者和接收者是否在同一线程
  • Oracle导入指令

    打开sqlplus 创建用户 create user mingzi identified by 123456 用户授权 grant connect resource dba to mingzi 导入 imp mingzi 123456 or
  • C++实现树 - 02 二叉树

    数据结构与算法专栏 C 实现 写在前面 这一讲我们来看看二叉树的实现 还不清楚树的结构的小伙伴建议先看看上面一讲关于树的定义 二叉树的定义 二叉树是每个结点最多有两个子树的树结构 也就是说二叉树不允许存在度大于2的树 它有五种最基本的形态
  • 企业级zabbix监控服务搭建

    一 什么是zabbix zabbix可以干什么的 为什么我们要使用zabbix 什么是zabbix zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix由2部分构成 zabbix serv
  • Swoole系列(3) - 服务端 (异步风格)

    1 应用场景 主要用于学习和使用Swoole的服务端 异步风格 同时学习其实现原理 2 学习 操作 1 文档阅读 Swoole4 文档 服务端 异步风格 2 整理输出 2 1 是什么 方便的创建一个异步服务器程序 支持 TCP UDP un
  • 行内/行内块元素、块元素,水平垂直居中的方法

    行内元素 行内块元素 水平居中 text align ceter 垂直居中 line height height 块元素 水平居中 margin 0 auto 水平垂直居中 父子皆定位 方法一 盒子必须要有宽高 top 0 right 0
  • 浅谈磁珠(基础)

    磁珠 Ferrite bead 全称为铁氧体磁珠滤波器 简写FB 抗干扰元件的一种 滤除高频噪声效果显著 磁珠的等效电路是一个DCR电阻串联一个电感并联一个电容和一个电阻 DCR是一个恒定值 但后面三个元件都是频率的函数 也就是说它们的感抗
  • ajax中for循环中怎么使用if,在ExtJS中,我可以在Ajax请求中调用for循环和if语句来定义我的参数吗?...

    我想通过我在fieldSet中的复选框进行迭代 如果复选框被选中 我想将复选框的ID添加到数组中 该数组将作为我的Ajax请求的参数之一 在ExtJS中 我可以在Ajax请求中调用for循环和if语句来定义我的参数吗 我意识到我可以创建一个
  • linux下载安装搭建、卸载FastDfs文件服务器、配置多存储路径(轮询、最大内存选择)、nginx反向代理实现图片预览、常用命令

    linux下载安装搭建 卸载FastDfs文件服务器 配置多存储路径 轮询 最大内存选择 nginx反向代理实现图片预览 常用命令 Springboot整合Fastdfs上传图片 缩略图 下载文件 需求 文件转存方案 springboot整
  • 51:电机(ULN2003D)

    目录 1 介绍 2 原理图 编辑 A 大功率直接驱动 B H桥驱动 3 电机调速 pwm 编辑 A 实例代码 大功率直接驱动 1 介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极
  • 利用CGAL对网格填洞( Filling holes)

    CGAL的资料尤其是中文资料少之又少 现根据自己要完成的工作进行一个记录和总结 也希望能填补资料的空缺 在CGAL中 使用半边结构Halfedge Data Structure来存储网格信息 另外一个类似于CGAL的库OpenMesh同样使
  • Istio熔断器功能解析

    前言 Istio因灵活的可观察性和安全的服务间通信受到了赞许 然而 其他更重要的功能才真正使得Istio成为了服务网格里的瑞士军刀 当遇到运行时长 延迟和错误率等SLO问题时 服务间的流量管理能力是至关重要的 在今年早些时候发布 Istio
  • java两个日期比较相等

    1 利用Date的equals比较大小 1 利用Date的equals比较大小 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss String timeStr1 20
  • stm32 串口发送字符串第一个字节丢失、复位发送00

    1 stm32 串口发送字符串第一个字节丢失 这个问题如下解决 while USART GetFlagStatus USART1 USART FLAG TXE RESET 防止一个字节丢失 USART SendData USART1 dat
  • 魏副业而战:闲鱼无货源爆款热销产品推荐

    我是魏哥 与其在家躺平 不如魏副业而战 每天分享一个闲鱼技巧 今天给大家推荐一些闲鱼爆款 很多人做闲鱼过了新鲜期之后 觉得选品太难了 很羡慕那些月入过万每天爆单的人 那为什么别人能每天轻松卖出几十单 而自己却不知道上架什么产品呢 下面就告诉
  • 检查nacos是否正常启动

    可以通过以下几种方式检查nacos是否启动 查看nacos日志文件 启动nacos时 控制台会输出一些信息 可以查看控制台输出的信息 如果显示 Server startup in XXX ms 等字样 则说明nacos已经启动 查看端口是否
  • mybatis-plus 判断参数是否为空并作为查询条件

    方式一 在配置文件中加上全局配置 mybatis plus global config db config field strategy not empty 方式二 对某一字段单独进行判断非空 QueryWrapper
  • Stable Disffusion 采样器总结

    Stable Disffusion 采样器 1 Euler a Euler a 属于超快采样模式 采样10次 即可完成基本画面 但是继续提高采样步数 就基本脱离了提示词 是个插画 tag利用率仅次与DPM2和DPM2 a 环境光效菜 构图有
  • springcloud配置详解

    在这里插入代码片 1 版本信息 父项目 依赖管理 pom文件