![](https://img-blog.csdnimg.cn/20210706102433660.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 60
Java实战
李维山
后端架构师
展开
-
【SpringCloud微服务实战10】DevOps自动化部署微服务项目(Jenkins+Docker+K8s)
DevOps 是一种重视软件开发人员(Developer)和运维人员(Operations)之间沟通与协作的文化、运动或实践,目标在于快速交付高质量的软件产品和服务。DevOps 强调自动化流程、持续集成与交付(CI/CD)、以及通过工具链、敏捷方法论和跨职能团队协作来增强软件的可靠性和安全性。在 DevOps 中,开发、测试、部署和监控等多个环节紧密连接,形成一个高效的工作流。原创 2024-03-28 02:13:09 · 1341 阅读 · 0 评论 -
【SpringCloud微服务实战09】Elasticsearch 搜索引擎
Elasticsearch是基于文档存储的,文档可以是数据库中的一条商品数据,也可以是一个订单信息等等,这条数据会被序列化为json格式后存储在Elasticsearch当中。旨在提供一个独立于 Elasticsearch 服务器代码的库,并为所有 Elasticsearch 功能提供非常一致且更易于使用的 API,以下我们使用。分词器作用:创建倒排索引时对文档分词、用户搜索时对输入的内容分词。Kibana是ES的可视化界面,便于我们开发学习。默认分词器对中文支持不好,这里使用IK分词器。原创 2024-03-17 11:44:36 · 1209 阅读 · 0 评论 -
【SpringCloud微服务实战08】RabbitMQ 消息队列
MQ异步通信优缺点:优点:吞吐量提升:无需等待订阅者处理完成,响应更快速故障隔离:服务没有直接调用,不存在级联失败问题调用间没有阻塞,不会造成无效的资源占用耦合度极低,每个服务都可以灵活插拔,可替换流量削峰:不管发布事件的流量波动多大,都由Broker接收,订阅者可以按照自己的速度去处理事件。原创 2024-03-14 20:00:53 · 422 阅读 · 0 评论 -
【SpringCloud微服务实战07】Sentinel 服务保护
是阿里巴巴开源的一款微服务流量控制组件。原创 2024-03-13 14:06:01 · 306 阅读 · 0 评论 -
【SpringCloud微服务实战06】Gateway 网关
【代码】【SpringCloud微服务实战06】Gateway 网关。原创 2024-03-12 22:26:14 · 359 阅读 · 0 评论 -
【SpringCloud微服务实战05】Feign 远程调用
1、默认配置:2、自定义配置:(以日志级别为例)方式一:配置文件方式#全局配置feign:client:config:default: #default代表全局生效loggerLevel: FULL #日志级别#个别配置feign:client:config:userservice: #针对某个服务loggerLevel: FULL #日志级别方式二:注解参数方式@Bean。原创 2024-03-12 21:46:17 · 291 阅读 · 0 评论 -
【SpringCloud微服务实战03】Nacos 注册中心
Nacos是阿里巴巴的产品,相比Eureka 功能更加丰富,受欢迎程度较高。原创 2024-03-11 20:05:58 · 364 阅读 · 0 评论 -
【SpringCloud微服务实战02】Ribbon 负载均衡
Ribbon 默认采用懒加载,第一次访问服务时才会去创建 LoadBalanceClient ,请求时间会很长。方式二:在配置文件application.yml中,添加配置规则(针对某个服务)方式一:在启动类中定义 IRule 返回指定策略实例(全局生效,对每一个服务)Eureka中已经集成了Ribbon,无需额外引入,通过。原创 2024-03-11 19:49:46 · 202 阅读 · 0 评论 -
【SpringCloud微服务实战01】Eureka 注册中心
服务提供者会每隔 30 秒向 EurekaServer 发送心跳请求,报告健康状态。根据服务名称从 EurekaServer 拉取服务列表。consumer :服务消费者,例如案例中的 order-service。Provider :服务提供者,例如案例中的 user-service。eureka 会更新记录服务列表信息,心跳不正常会被剔除。消费者根据服务名称向 eureka 拉取提供者信息。服务提供者启动时向 eureka 注册自己的信息。服务消费者利用负载均衡算法,从服务列表中挑选一个。原创 2024-03-11 18:21:47 · 428 阅读 · 0 评论 -
【Java】Apache HttpClient调用微信支付API v3报错:找不到证书序列号对应的证书
还需要通过其中的associated_data、nonce、ciphertext参数 和 APIv3秘钥,解密出平台证书,调用微信支付时,使用的 wechatPayCertificates 参数为。如题,“找不到证书序列号对应的证书”,是因为在使用。另外官方建议定期去更新平台证书,见。“平台证书”需要调用 ““ 进行获取,可以使用微信官方提供的。原创 2022-09-22 13:25:13 · 3517 阅读 · 0 评论 -
【Java】Thymeleaf模板引擎禁用缓存不起作用
【代码】【Java】Thymeleaf模板引擎禁用缓存不起作用。原创 2022-08-25 14:24:01 · 501 阅读 · 0 评论 -
【Java】亲测!IDEA做开发好用的10款插件推荐
IDEA安装插件方法:文件 - 设置 - Plugins - 在Marketplace中搜索插件 - 点击Install安装 - 重启IDEA 1、Translation 好用的即时翻译插件,选中文本,点击右键即可翻译,支持多种语言:2、GitToolBox Git工具箱,可以直接显示每一行代码最后的提交记录,其他功能等你发掘:3、CodeGlance 代码速览工具,可在编辑器右侧生成代码条,方便快速拖动浏览:4、L...原创 2021-08-17 17:41:43 · 1176 阅读 · 0 评论 -
【Java】IDEA使用Alibaba Cloud Toolkit一键部署SpringBoot项目
1、安装Alibaba Cloud Toolkit插件 在IDEA中依次点击【文件】=> 【设置】: 在 【Plugins】 中搜索插件 “Alibaba”,找到 “Alibaba Cloud Toolkit”,点击 install 进行安装:2、添加Host 在底部标签栏中点击【Alibaba Cloud View】,在【Host】选项卡中点击 【Add Host】: 如下添加远程主机配置,点击【Add】:3、一键部署...原创 2021-08-13 14:22:12 · 630 阅读 · 1 评论 -
【Java】MacOS M1配置Java开发环境
1、安装JDK JDK下载地址:https://www.azul.com/downloads 选择所需的JDK版本(注意选择ARM架构)=> 下载.dmg包 => 安装: 配置环境变量:#编辑vim ~/.zshrc#写入export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home#保存:wq#刷新source ~/.zshrc...原创 2021-08-11 17:31:08 · 2599 阅读 · 2 评论 -
【Java】List取交集使用retainAll报错:printStackTrace:java.lang.UnsupportedOperationException
解决方法:将 List<String> list = Arrays.asList(Arrays); 改为:List<String> list = new ArrayList<>(Arrays.asList(Arrays));原创 2021-06-25 11:11:22 · 381 阅读 · 0 评论 -
支付宝生成APP支付订单信息报错:RSA2签名遭遇异常,请检查私钥格式是否正确(Java)
这个问题估计只有其他语言转Java的童鞋才会遇到。。。 原因是因为之前用的PHP语言,私钥采用PKCS1,而Java采用的是PKCS8格式,所以需要把之前的PKCS1格式转换为PKCS8格式。 支付宝官方转换地址:https://miniu.alipay.com/keytool/format 转换之后,就不报错了,非常完美。...原创 2021-05-11 15:32:26 · 6937 阅读 · 6 评论 -
Mybatis使用小于符号“lt”报错
正确使用方式:原符号 < <= > >= & ' " 替换符号 < <= > >= & ' "原创 2021-03-29 14:12:02 · 1662 阅读 · 0 评论 -
Mybatis中使用FIND_IN_SET保持in查询排序规则
如下所示,uidStr为"5,1,3,2",则查询结果顺序也为"5,1,3,2":SELECT *FROM userWHERE FIND_IN_SET(uid,${uidStr})ORDER BY FIND_IN_SET(uid,${uidStr})原创 2021-03-29 11:11:05 · 978 阅读 · 1 评论 -
【Java】SpringBoot接入阿里云日志服务Logback Appender
1、application.yml中日志文件配置如下:logging: config: classpath:logback-spring.xml2、logback-spring.xml中日志输出配置如下:<configuration scan="true" scanPeriod="60 seconds"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"&原创 2021-02-26 11:06:08 · 4881 阅读 · 0 评论 -
【Java】logback中root配置为INFO,为何logger配置为DEBUG级别也能打印出日志
配置如下,root配置为INFO,logger中配置的DEBUG也能打印出来:<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> ...</appender><appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> ...</appender>原创 2021-02-23 10:54:53 · 6113 阅读 · 5 评论 -
【Java】获取星座匹配度
星座匹配度规则表如下:获取匹配度代码如下: /** 星座匹配分值 */ private static Map<String, String> constellationScoreMap = new HashMap<>(); /** * 初始化星座匹配分数 * 1水瓶座 2双鱼座 3白羊座 4金牛座 5双子座 6巨蟹座 7狮子座 8处女座 9天秤座 10天蝎座 11射手座 12摩羯座 * 每个key以两星座编号用-分隔原创 2020-12-29 18:15:06 · 1085 阅读 · 11 评论 -
【Java】微信企业付款到零钱 工具类封装
WxService.java:package com.lws.test.core.wechat;import com.ygxk.social.core.utils.MD5Util;import com.ygxk.social.core.utils.StringUtil;import com.ygxk.social.core.wechat.WxKeyConstant;import lombok.extern.slf4j.Slf4j;import org.apache.http.client.原创 2020-12-28 18:18:22 · 949 阅读 · 4 评论 -
【Java】获取当天凌晨10位时间戳
如下://当天凌晨时间戳long nowTime = System.currentTimeMillis();long dailyStartTime = nowTime - (nowTime + TimeZone.getDefault().getRawOffset()) % (1000 * 3600 * 24);Integer dayStartTime = Integer.parseInt(String.valueOf(dailyStartTime).substring(0, 10));..原创 2020-12-28 18:09:58 · 540 阅读 · 0 评论 -
【Java】Mybatis中使用sum对字段求和
如下sql,为计算用户收益总和: <select id="getTotalIncome" resultType="com.xxx.social.modules.user.entity.UserIncomeEntity"> select sum(income) as totalIncome from income_log where uid = #{uid,jdbcType=BIGINT} </select>其中返回的求和字段类型需要设置为 BigDecimal:.原创 2020-12-28 18:05:40 · 3169 阅读 · 1 评论 -
【Java】FastJson如何返回不带转义字符的json字符串
一开始使用 JSONObject.toJSONString() 把json对象转为json字符串,但是在进行kafka进行消费的时候,发现接收到的json总是带转义字符,处理起来比较麻烦于是使用如下方法,先转为Object对象,再转为字符串:JSONObject.toJSON(jsonObject).toString();...原创 2020-12-28 17:57:39 · 7184 阅读 · 2 评论 -
Kafka消费者启动报错: Not authorized to access group
原因可能为使用了阿里云的Kafka服务,消费组不存在,需要创建,参考文档:是否支持Consumer Group自动创建?原创 2020-12-28 16:31:04 · 4989 阅读 · 0 评论 -
【Java】Mybatis实现模糊查询
例:如下为模糊查询user表昵称字段: <select id="selectUserByKeyword" resultType="com.ygxk.lws.modules.user.entity.UserEntity"> select * from user where nickName LIKE CONCAT('%',#{keyword},'%') </select>原创 2020-12-10 19:53:29 · 382 阅读 · 0 评论 -
【Java】Mybatis实现in查询
例:如下为in查询user表,uidList如 [1,2,3] <select id="selectUserInUid" resultType="com.ygxk.lws.modules.user.entity.UserEntity"> select * from user where uid in <foreach collection="uidList" item="uidList" index="index" open="(" close=")" se原创 2020-12-10 19:50:24 · 984 阅读 · 0 评论 -
【Java】Mybatis插入数据获取主键id返回值
例:如下为插入用户关注记录,获取主键 fid:<insert id="insertUserFollow" parameterType="com.ygxk.social.modules.user.entity.UserFollowEntity" useGeneratedKeys="true" keyProperty="fid" keyColumn="fid"> insert into user_follow <trim prefix="(" suffix=")" suf原创 2020-12-10 19:33:44 · 468 阅读 · 0 评论 -
【Java】shuffle随机打乱数组List
引入:import java.util.Collections;实现:Collections.shuffle(list);原创 2020-12-10 19:26:06 · 1081 阅读 · 6 评论 -
【Java】SpringBoot接入阿里云短信服务
1、引入maven依赖:<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.6</version> <!-- 注:如提示报错,先升级基础包版,无法解决可联系技术支持 --></dependency><dependency&原创 2020-12-10 19:11:29 · 802 阅读 · 0 评论 -
【Java】SpringBoot配置多环境、运行时选择指定配置文件
如下图,可以创建多个环境的配置文件:application.yml 中定义当前使用环境如下:spring: application: name: xxx-server profiles: active: dev #当前环境 async: executor: pool: core-size: 10 max-size: 60 keep-alive-seconds: 60 queue-ca原创 2020-12-10 18:47:15 · 2619 阅读 · 11 评论 -
【Java】微信企业付款报错:java.io.IOException: toDerInputStream rejects tag type 45
原因是证书格式问题,之前用PHP做一直用.pem格式的证书,看了官方文档才知道,其他语言大多用.p12格式的证书: 更换为.p12格式证书,不报错了。原创 2020-12-10 10:51:28 · 6254 阅读 · 0 评论