<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[坤的博客]]></title><description><![CDATA[学习java全栈中]]></description><link>https://blog.youkuaiyun.com/csdn_cai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdn_cai]]></copyright><item><title><![CDATA[easyexcel封装工具类以及简单使用]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/120369920</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/120369920</guid><author>csdn_cai</author><pubDate>Sat, 18 Sep 2021 16:34:13 +0800</pubDate><description><![CDATA[&lt;dependency&gt;
            &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
            &lt;artifactId&gt;easyexcel&lt;/artifactId&gt;
            &lt;version&gt;2.2.10&lt;/version&gt;
        &lt;/dependency&gt;

封装工具类
package com.lk.util;

import com.alib.]]></description><category></category></item><item><title><![CDATA[swagger整合 gateway实现文档集中化]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/118090871</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/118090871</guid><author>csdn_cai</author><pubDate>Mon, 21 Jun 2021 17:20:18 +0800</pubDate><description><![CDATA[swagger的公用配置

@ConfigurationProperties("my.swagger")
@Getter
@Setter
public class SwaggerProperties {
    /**
     * swagger2默认的url后缀
     */
    private String swagger2Url = "/v2/api-docs";

    private String oas30Url = "/v3/api-docs";

    private Stri.]]></description><category></category></item><item><title><![CDATA[Spring Boot多数据源配置]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/117958547</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/117958547</guid><author>csdn_cai</author><pubDate>Wed, 16 Jun 2021 15:10:47 +0800</pubDate><description><![CDATA[这里的案例使用的 mysql数据源以及clickHouse数据源

创建Spring Boot项目引入依赖
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.]]></description><category></category></item><item><title><![CDATA[@ConfigurationProperties以及@NestedConfigurationProperty的使用详解]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/117949600</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/117949600</guid><author>csdn_cai</author><pubDate>Wed, 16 Jun 2021 10:22:44 +0800</pubDate><description><![CDATA[创建一个springboot应用(默认忽略)
application.properties的自定义配置
spring.datasources.test.username=admin
spring.datasources.test.password=123456
spring.datasources.test.url=url
spring.datasources.test.driver=com.mysql
spring.datasources.duration=5

@ConfigurationPropert]]></description><category></category></item><item><title><![CDATA[springboot 敏感信息加密]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/116423329</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/116423329</guid><author>csdn_cai</author><pubDate>Wed, 05 May 2021 11:28:51 +0800</pubDate><description><![CDATA[1. 引入依赖jar包

这个jar是一个人基于 jasypt 进行封装的starter
主要的作用是 实现敏感信息的加密

 &lt;!--springboot加密--&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.github.ulisesbocchio&lt;/groupId&gt;
            &lt;artifactId&gt;jasypt-spring-boot-starter&lt;/artifactId]]></description><category></category></item><item><title><![CDATA[hutool中的字段验证器-Validator]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213261</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213261</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:48:06 +0800</pubDate><description><![CDATA[作用
验证给定字符串是否满足指定条件，一般用在表单字段验证里。
此类中全部为静态方法
使用
boolean isEmail = Validator.isEmail("loolly@gmail.com")

表示验证给定字符串是否复合电子邮件格式。
异常验证
Validator.validateChinese("我是一段zhongwen", "内容中包含非中文");


...]]></description><category></category></item><item><title><![CDATA[hutool中身份证工具-IdcardUtil]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213223</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213223</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:46:36 +0800</pubDate><description><![CDATA[身份证工具-IdcardUtil
String ID_18 = "321083197812162119";
String ID_15 = "150102880730303";

//是否有效
boolean valid = IdcardUtil.isValidCard(ID_18);
boolean valid15 = IdcardUtil.isValidCard(ID_15);

//转换
String convert15To18 = IdcardUtil.convert15To18(ID_15);
As]]></description><category></category></item><item><title><![CDATA[hutool中的字符串工具类]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213207</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213207</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:45:14 +0800</pubDate><description><![CDATA[字符串工具类

String a="db dg";
// 判断是否为空
//  hasBlank 和 hasEmpty的区别
// hasBlank 判断是否为null或者空字符串和不可见的字符也所做是空
boolean b = StrUtil.hasBlank(a);
// hasEmpty 只会判断 是否为null或者是空字符串
boolean b1 = StrUtil.hasEmpty(a);
// 去掉指定的前缀
String c=a+"dddd";
String s = StrUtil.remov]]></description><category></category></item><item><title><![CDATA[hutool中资源流相关操作]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213179</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213179</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:44:31 +0800</pubDate><description><![CDATA[举例：jdk中读取properties文件中的操作
 // 读取到资源文件 .properties 默认不需要写后缀 ，还可以实现国际化和本地化
        ResourceBundle resourceBundle = ResourceBundle.getBundle("test");
        // 获取所有的key
        Enumeration&lt;String&gt; keys = resourceBundle.getKeys();
        while (keys.ha]]></description><category></category></item><item><title><![CDATA[hutool中的日期时间工具的使用]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213143</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213143</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:42:33 +0800</pubDate><description><![CDATA[日期时间工具-DateUtil的使用
由来

考虑到Java本身对日期时间的支持有限，并且Date和Calendar对象的并存导致各种方法使用混乱和复杂，故使用此工具类做了封装。这其中的封装主要是日期和字符串之间的转换，以及提供对日期的定位（一个月前等等）。
对于Date对象，为了便捷，使用了一个DateTime类来代替之，继承自Date对象，主要的便利在于，覆盖了toString()方法，返回yyyy-MM-dd HH:mm:ss形式的字符串，方便在输出时的调用（例如日志记录等）

具体使用
DateUt]]></description><category></category></item><item><title><![CDATA[hutool 中自定义转换器]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112213104</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112213104</guid><author>csdn_cai</author><pubDate>Tue, 05 Jan 2021 09:40:30 +0800</pubDate><description><![CDATA[由来

Hutool中类型转换最早只是一个工具类，叫做“Convert”，对于每一种类型转换都是用一个静态方法表示，但是这种方式有一个潜在问题，那就是扩展性不足，这导致Hutool只能满足部分类型转换的需求。

解决
为了解决这些问题，对Hutool中这个类做了扩展。思想如下：

Converter 类型转换接口，通过实现这个接口，重写convert方法，以实现不同类型的对象转换
ConverterRegistry 类型转换登记中心。将各种类型Convert对象放入登记中心，通过convert方法查找目标类]]></description><category></category></item><item><title><![CDATA[hutool的类型转换类-convert的使用]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112193619</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112193619</guid><author>csdn_cai</author><pubDate>Mon, 04 Jan 2021 18:41:42 +0800</pubDate><description><![CDATA[第一步：导入依赖的maven
&lt;dependency&gt;
    &lt;groupId&gt;cn.hutool&lt;/groupId&gt;
    &lt;artifactId&gt;hutool-all&lt;/artifactId&gt;
    &lt;version&gt;5.5.6&lt;/version&gt;
&lt;/dependency&gt;

类型转换工具类-Convert
为什么我们要使用这个工具类?

在Java开发中我们要面对各种各样的类型转换问题，尤其是从命令]]></description><category></category></item><item><title><![CDATA[Hutool工具类的使用简介]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/112193358</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/112193358</guid><author>csdn_cai</author><pubDate>Mon, 04 Jan 2021 18:36:06 +0800</pubDate><description><![CDATA[简介

Hutool是一个小而全的Java工具类库，通过静态方法封装，降低相关API的学习成本，提高工作效率，使Java拥有函数式语言般的优雅，让Java语言也可以“甜甜的”。


Hutool中的工具方法来自每个用户的精雕细琢，它涵盖了Java开发底层代码中的方方面面，它既是大型项目开发中解决小问题的利器，也是小型项目中的效率担当；


Hutool是项目中“util”包友好的替代，它节省了开发人员对项目中公用类和公用工具方法的封装时间，使开发专注于业务，同时可以最大限度的避免封装不完善带来的bug。

]]></description><category></category></item><item><title><![CDATA[Java 实现定制二维码]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/109293284</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/109293284</guid><author>csdn_cai</author><pubDate>Mon, 26 Oct 2020 16:59:00 +0800</pubDate><description><![CDATA[创建一个maven项目
&lt;dependencies&gt;
        &lt;!-- 添加 google 提供的二维码依赖 --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.google.zxing&lt;/groupId&gt;
            &lt;artifactId&gt;core&lt;/artifactId&gt;
            &lt;version&gt;3.3.0&lt;/ver]]></description><category></category></item><item><title><![CDATA[前后端分离通用返回json]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/109233023</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/109233023</guid><author>csdn_cai</author><pubDate>Thu, 22 Oct 2020 23:21:50 +0800</pubDate><description><![CDATA[通用的返回类
package com.aaa.cache.common.lang.util;

import com.aaa.cache.common.lang.enums.ResultCode;
import lombok.Data;

import java.io.Serializable;

/**
 * 通用的  返回数据
 */
@Data
public class R&lt;T&gt; implements Serializable {

    private Integer code;
  ]]></description><category></category></item><item><title><![CDATA[springboot2.3.4自定义实现CacheManager]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/109232820</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/109232820</guid><author>csdn_cai</author><pubDate>Thu, 22 Oct 2020 23:07:47 +0800</pubDate><description><![CDATA[/**
     * 不能序列化对象  如果需要序列化对象请修改 ? 所在的地方
     * new Jackson2JsonRedisSerializer&lt;?&gt;(?.class)
     * @param redisConnectionFactory  redis的连接工厂
     * @return
     */
    @Bean("myCustomizeCacheManager")
    RedisCacheManager cacheManager(RedisConnecti.]]></description><category></category></item><item><title><![CDATA[docker整合各种中间件]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/108099003</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/108099003</guid><author>csdn_cai</author><pubDate>Wed, 19 Aug 2020 13:50:38 +0800</pubDate><description><![CDATA[docker安装mysql
# 拉取镜像
-  docker pull mysql
# 运行镜像
-  docker run -d -p 3306:3306 --name  myqla  -e MYSQL_ROOT_PASSWORD=root  mysql:tag
# 然后就可以使用客户端工具连接了
# 如果想修改配置文件
 -  docke run -d -p 3306:3306 --name  \ 
 -  -e MYSQL_ROOT_PASSWORD=root  -v /opt/docker_mysq]]></description><category></category></item><item><title><![CDATA[docker安装rabbitmq]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/108082113</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/108082113</guid><author>csdn_cai</author><pubDate>Tue, 18 Aug 2020 17:03:43 +0800</pubDate><description><![CDATA[docker安装rabbitmq

​	在dockerhub中搜索rabbitmq


在linux中新建一个Dockfile文件
FROM daocloud.io/library/rabbitmq:3.7.26-management    # 镜像
EXPOSE  5672   # 暴露的端口号
EXPOSE 15672
VOLUME ["/var/lib/rabbitmq", "/etc/rabbitmq/rabbitmq.conf"]   # 新建容器中的数据卷

# 使用 构建命令构建
docker]]></description><category></category></item><item><title><![CDATA[ES系列：解决Exception in thread “main” java.nio.file.AccessDeniedException]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/107888891</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/107888891</guid><author>csdn_cai</author><pubDate>Sun, 09 Aug 2020 00:57:44 +0800</pubDate><description><![CDATA[chown -R es:es /opt/elasticsearch-6.8.0 为这个用户设置权限

]]></description><category></category></item><item><title><![CDATA[反射机制]]></title><link>https://blog.youkuaiyun.com/csdn_cai/article/details/107751268</link><guid>https://blog.youkuaiyun.com/csdn_cai/article/details/107751268</guid><author>csdn_cai</author><pubDate>Sun, 02 Aug 2020 21:08:46 +0800</pubDate><description><![CDATA[反射机制

​	通过java语言中的反射机制可以操作字节码文件。
​	类似于黑客（可以读和修改字节码文件）
​	通过反射机制可以操作代码片段（class文件）

反射机制的相关类在那个包下？

​	java.lang.reflect.*;

反射机制相关的重要的类有哪些
java.lang.Class: 代表整个字节码，代表一个类型，代表一个类
java.lang.reflect.Method:代表字节码中的方法字节码。
java.lang.reflect.Constructor:代表字节码中的构造方法字节]]></description><category></category></item></channel></rss>