<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ShuSheng007的程序人生]]></title><description><![CDATA[人活着要有梦想！]]></description><link>https://blog.youkuaiyun.com/ShuSheng0007</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ShuSheng0007]]></copyright><item><title><![CDATA[秒懂SpringBoot之如何使用Spring Data JPA中Specification进行动态查询]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/137206356</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/137206356</guid><author>ShuSheng0007</author><pubDate>Sat, 06 Apr 2024 14:34:23 +0800</pubDate><description><![CDATA[操作数据库大概是一个web程序最重要的部分了，而Spring Data JPA 正是spring生态中用来解决此问题的利器。今天让我们简单聊聊这个话题。没接触Spring Data JPA 的时候觉得MyBatis和MyBatis plus真香，后来工作需要被迫使用了JPA，刚开始觉得变扭，但用熟悉了感觉也不错。人啊，走出自己的舒适区真的很难，所以那些能不断走出自己舒适区的同学真的很厉害，特别是在我们IT行业，这种能力更是弥足珍贵。虽然人善变，但男人有一样特别专一，就是至始至终都喜欢。]]></description><category></category></item><item><title><![CDATA[秒懂Springboot之如何使用logback做日志脱敏和截取]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/136765073</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/136765073</guid><author>ShuSheng0007</author><pubDate>Sat, 06 Apr 2024 12:09:12 +0800</pubDate><description><![CDATA[日志的重要性无需多言，而数据的安全性亦不用赘述，但不幸的是它两常常产生矛盾。要便利就会牺牲安全，要安全就会牺牲便利，所以需要找到一个折中的方案：既满足日志方便审计以及查找问题的需求又兼顾安全。这就是我们今天要谈论的日志脱敏的问题。清楚logback的日志处理流程，确定要对下手清楚如何给Converter传参和如何解析参数清楚如何应用自定义的Converter会写各种正则表达式。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之如何获取线上服务的build与git信息]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/136517929</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/136517929</guid><author>ShuSheng0007</author><pubDate>Wed, 13 Mar 2024 21:12:27 +0800</pubDate><description><![CDATA[最近团队遇到一个问题，发现通过CI/CD发布的服务里面不包含自己的功能代码，于是两个小哥就开始扯皮了：开发说他的代码没有部署上去，运维说他已经部署了，于是两小哥相爱相杀了一下午。难道就没有办法获取线上服务的当前版本信息吗？例如服务版本，构建时间，git提交记录等等。答案是肯定的，我们今天就来聊一下这个话题，这在快速迭代部署的微服务环境中环是极其有用的。以上就是如何通过Actuator获取build与git相关信息的内容了，希望对你有帮助。关注shusheng007，持续输出干货，让我们共同进步，成为朋友。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之Spring Events全解析]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/135860790</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/135860790</guid><author>ShuSheng0007</author><pubDate>Mon, 04 Mar 2024 08:00:00 +0800</pubDate><description><![CDATA[相信即使是刚入门Java的小朋友们对事件(Event)也不会陌生，只要接触过消息队列，例如RabbitMq、Kafka等的都清楚。其思想和观察者这个设计模式类似，不懂的点击链接先学习一下前置知识。今天要谈论的Event是Spring给我们提供的一套类似的机制，某些场景下其有奇效，使你的技术水平立马绝尘于你的小伙伴们，装x成功是毫无疑问了…关于Spring Framwork 提供的事件机制就聊到这里了，其在日常开发过程中出境率还是挺高的，希望对后辈有所帮助。]]></description><category></category></item><item><title><![CDATA[聊聊RedisTemplate的各种序列化器]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/132052331</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/132052331</guid><author>ShuSheng0007</author><pubDate>Mon, 14 Aug 2023 22:48:18 +0800</pubDate><description><![CDATA[在SpringBoot中使用redis基本上都是通过，那就不得不说了。在我刚接触它的时候比较懵逼的就是给其设置各种序列化器了，今天我们来唠唠他们。通常使用字符串序列化器，使用Json序列化器。当服务自己存自己取的话使用，但是如果取其他服务存储的Json值就要使用。以上就是RedisRemplate的几个序列化器的总结。是不是感觉也没那么难了？小白面前的大山就是老鸟眼中的土坷垃。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之如何集成SpringDoc（全网目前最新最系统最全面的springdoc教程）]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/131304104</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/131304104</guid><author>ShuSheng0007</author><pubDate>Thu, 22 Jun 2023 14:01:59 +0800</pubDate><description><![CDATA[近来颇为懈怠，博客竟两月有余未发一篇，惭愧惭愧。值此端午佳节（dragon boat festival）作为调包高手、API小王子的我就聊聊API文档的那些事吧，如果你也是API小王子，那我们就可以在一起欢度佳节了，哈哈…我惯用Java，惯用Spring，所以这里谈论的是关于springboot中如何处理文档的内容终于写完了，要写一篇逻辑清晰，对初学者友好的博客可真不容易。当然我写博客主要是为了自己梳理知识，但是我一直秉承着解决自己初次接触时候的困难场景来写的，相信对其他小朋友会有很大的帮助。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之参数验证全解析(@Validated与@Valid)]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129653582</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129653582</guid><author>ShuSheng0007</author><pubDate>Sun, 02 Apr 2023 09:11:01 +0800</pubDate><description><![CDATA[在构建 Web 应用程序时，确保进入应用程序的数据有效并满足您的业务需求非常重要。实现此目的的一种方法是在服务器端验证输入数据。在这篇博客中，我们将探讨如何在 Spring Boot 应用程序中进行输入数据验证，善用的话可以写出健壮而优美的代码。让我们从一个实例开始吧Spring Boot 使用为输入数据验证提供内置支持，Java Bean Validation API 是用于验证 Java 对象的标准 API。此 API 允许您使用注释定义 Java 类属性的约束，并根据这些约束验证输入数据。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之@Async如何自定义线程池]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129393070</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129393070</guid><author>ShuSheng0007</author><pubDate>Sun, 26 Mar 2023 15:58:33 +0800</pubDate><description><![CDATA[每个Java程序员都有一颗搞高并发的心，所以线程池几乎也是面试必考题。讲线程池的文章网上也特别多特别好，所以本文只是聊一下如何在SpringBoot中使用线程池。当前由于框架的广泛使用，程序员并发编程的机会其实没有那么多，但是掌握其知识却是基本功。]]></description><category></category></item><item><title><![CDATA[shusheng007编程手记]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/125081268</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/125081268</guid><author>ShuSheng0007</author><pubDate>Tue, 07 Mar 2023 21:45:01 +0800</pubDate><description><![CDATA[Idea中无法下载源码, Postman发送Post请求服务端得到了Get请求,Git远端拉取代码报443,服务端报：PKIX path building failed,
Linux开启关闭防火墙,开放端口,关闭端口,如何修复磁盘，
如何使用docker来安装Nginx,如何在后台运行jar文件并打印log,
Lombok如何注入带`@Qualifier`的参数到构造函数中,如何使用OpenSSL生成自签名证书]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之Filter与HandlerInterceptor异同]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129330360</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/129330360</guid><author>ShuSheng0007</author><pubDate>Tue, 07 Mar 2023 06:00:00 +0800</pubDate><description><![CDATA[在日常开发中，我们会经常用到Filter和HandlerInterceptor，刚接触时感觉二者差不多，那二者有什么异同呢？谁先执行谁后执行呢？分别在什么场景下使用呢？接下来让我们看一下总之二者各有各的适用场景，合适的才是最好的。这就跟找对象是一样一样的，合适当前场景的才是最好的，随着时间的流逝情况也许会有变化，到时候重构就好了。]]></description><category></category></item><item><title><![CDATA[秒懂SpringBoot之全网最易懂的Spring Security教程]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128985784</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128985784</guid><author>ShuSheng0007</author><pubDate>Fri, 17 Feb 2023 06:00:00 +0800</pubDate><description><![CDATA[现如今Spring全家桶在Java web后端领域是寡头般的存在，其中安全相关的那员大奖就是Spring Security。我觉得它相对于其他竞争对手，例如显得过于复杂，对初学者很不友好，我第一次看见这玩意感觉这就是个垃圾，半天搞不懂，太tm复杂了。由于其是spring全家桶的一员，与spring生态集成时特别丝滑，所以用的人也不少，所以不管喜不喜欢你还是要懂他…为什么要写这篇文章呢？]]></description><category></category></item><item><title><![CDATA[Spring Data JAP多表关联关系详解]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128506275</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128506275</guid><author>ShuSheng0007</author><pubDate>Mon, 13 Feb 2023 06:00:00 +0800</pubDate><description><![CDATA[在Java程序访问关系型数据库这个领域，在国内使用最多的应该是MyBatis与MyBatisPlus，但是老外却特别中意JPA。我以前大多时候也是一直在使用MyBatis与MyBatisPlus，偶尔使用一点。最近公司项目使用了JPA，在使用过程中发现多表关联那块有点蒙，所以总结一下。]]></description><category></category></item><item><title><![CDATA[Spring Data Jpa如何实现审计和乐观锁功能]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128692801</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128692801</guid><author>ShuSheng0007</author><pubDate>Wed, 18 Jan 2023 07:00:00 +0800</pubDate><description><![CDATA[在具体业务中跟踪数据库数据操作记录有时是很强烈的需求：谁何时创建了这条记录，谁何时修改了这条记录，越是大点的公司这个需求越强烈。这些需求实现较为机械和简单，所以我们不想手动去做，所以很多相关框架都提供了相应的方案，今天我们就看下Spring Data JPA是如何实现的。以前一直在使用MyBatis，现在看来JPA也不赖，关键是平时用的是SpringData JPA，Spring全家桶给你安排的明明白白。这里也不是说MyBatis不好，还是的针对自己组织和项目来取舍。又要过大年了，又要长一岁了…]]></description><category></category></item><item><title><![CDATA[秒懂Java之实体转化利器MapStruct详解]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128602441</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/128602441</guid><author>ShuSheng0007</author><pubDate>Thu, 12 Jan 2023 17:00:00 +0800</pubDate><description><![CDATA[由于现代程序在追求扩展和维护性时很多采用分层的设计结构，所以在写程序时候需要在各种实体之间互相转换，而他们之间很多时候在业务或者技术架构上区别较大，在具体的属性上差别却很小。例如将Programer转换为由于这些是繁琐易错且没有技术含量的编码工作，所以聪明的程序员就会寻求不断简化它的方法，MapStruct就是其中的一个利器。MapStruct是一个用于Java的Bean的映射器，是它是基于注解的，而且是编译时APT（annotation processor tool）。]]></description><category></category></item><item><title><![CDATA[如何在Win10上安装docker]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127755182</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127755182</guid><author>ShuSheng0007</author><pubDate>Tue, 15 Nov 2022 15:15:09 +0800</pubDate><description><![CDATA[没有了Mac Pro，我又捡起了我的Windows…，这是我给她安装docker的的记录，你愿意也可以瞅一眼以上就是如何在win10 上安装Linux以及如何安装Docker的全部内容啦…]]></description><category></category></item><item><title><![CDATA[如何在Nginx上启用HTTPS]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127575900</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127575900</guid><author>ShuSheng0007</author><pubDate>Wed, 09 Nov 2022 12:03:28 +0800</pubDate><description><![CDATA[前端时间有个小伙伴在我的博客上留言说：我的博客是http的他感觉很害怕，建议我为博客开启https，于是我抽点时间升级了一下，特此记录一下。由于浏览器霸主google Chrome强推https，http怕是很快没有立锥之地了…ShuSheng007的博客。]]></description><category></category></item><item><title><![CDATA[微服务实践之通信（OpenFeign）详解-SpringCloud(2021.0.x)-6]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127522601</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127522601</guid><author>ShuSheng0007</author><pubDate>Tue, 08 Nov 2022 12:04:30 +0800</pubDate><description><![CDATA[声明式发起http远程调用，展示openfeign的各种配置项，包括于spring-cloud-loadbalancer集成，与断路器集成，拦截器，更换OKhttp客户端等]]></description><category></category></item><item><title><![CDATA[微服务实践之量度监控(micrometer,prometheus,grafana)-SpringCloud(2021.0.x)-5]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127470841</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127470841</guid><author>ShuSheng0007</author><pubDate>Mon, 24 Oct 2022 15:45:00 +0800</pubDate><description><![CDATA[作为应用开发者你是否觉得监控应该是运维的活？嗯，大部分是这样的，例如监控服务器资源的情况，网络情况，监控redis服务器的情况，监控 myslq服务器的情况等等，但是有一些应用相关的指标我们开发者也是需要关心的，这就要求我们在开发过程中进行埋点。由于微服务的流行，我们在一套系统中部署的服务越来越多，新催生出的角色DevOps也越来越关心统计应用系统的指标并从中进行学习推断系统的状况，老板也要直观的看到实时的下单量，成交金额等指标…]]></description><category></category></item><item><title><![CDATA[微服务实践之全链路追踪（sleuth，zipkin）详解-SpringCloud(2021.0.x)-4]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127460837</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127460837</guid><author>ShuSheng0007</author><pubDate>Sat, 22 Oct 2022 13:26:59 +0800</pubDate><description><![CDATA[本文将介绍微服务架构中关于链路追踪相关组件Sleuth与Zipkin的在SpringCloud入门使用。在SpringCloud中如何进行链路追踪就至此链路追踪就介绍完了，只是介绍了入门使用，更复杂的还是要在实际工作中慢慢总结，毕竟万事开头难，入门后就靠后天发展了…]]></description><category></category></item><item><title><![CDATA[微服务实践之网关（Spring Cloud Gateway）详解-SpringCloud(2021.0.x)-3]]></title><link>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127460097</link><guid>https://blog.youkuaiyun.com/ShuSheng0007/article/details/127460097</guid><author>ShuSheng0007</author><pubDate>Sat, 22 Oct 2022 12:08:15 +0800</pubDate><description><![CDATA[本文将介绍微服务架构中的SpringCloud Gateway这个网关组件的入门使用，观后你应该可以大体知道如网关如何工作，如何结合分布式配置，如何结合服务注册中心服务使用，如何将请求负载均衡到不同的服务实例，如何限流，如何使用断路器等实操性功能。编程这玩意对实践啊，理论背的天花乱坠，真用的时候还是不知道怎么下手，还是要动手实践一下…SC Gateway最核心概念其实就是一个路由（Route）。一个路由可以被看做是对一个请求的智能处理，你可以把它看成是你们小区大门口的保安，我们暂且叫它阿路吧。]]></description><category></category></item></channel></rss>