<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HDesigner的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/HDesigner</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HDesigner]]></copyright><item><title><![CDATA[Spring Boot 集成websocket]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/132857356</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/132857356</guid><author>HDesigner</author><pubDate>Wed, 13 Sep 2023 16:33:05 +0800</pubDate><description><![CDATA[*** 	注入ServerEndpointExporter，* 	这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint*/@Bean@Component@Slf4j/*** 线程安全的无序的集合*//*** 存储在线连接数*/@OnOpentry {]]></description><category></category></item><item><title><![CDATA[springcloud + feign + seata1.5.2 + nacos]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/128045413</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/128045413</guid><author>HDesigner</author><pubDate>Fri, 25 Nov 2022 22:39:00 +0800</pubDate><description><![CDATA[springcloud + feign + seata1.5.2 + nacos]]></description><category></category></item><item><title><![CDATA[docker-compose部署微服务]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/122059475</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/122059475</guid><author>HDesigner</author><pubDate>Tue, 21 Dec 2021 12:46:13 +0800</pubDate><description><![CDATA[服务器中安装docker-compose

首先就是将要部署的服务打成jar包,然后传到服务器上，并在其同级目录下创建一个Dockerfile文件，内容主体


FROM anapsix/alpine-java:8_server-jre_unlimited

MAINTAINER aounhui

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN mkdir -p /xxx

WORKDIR /xxx

EXPOSE 9001
]]></description><category></category></item><item><title><![CDATA[springboot自定义拦截器注解，实现请求token验证]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/121376423</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/121376423</guid><author>HDesigner</author><pubDate>Wed, 17 Nov 2021 14:02:34 +0800</pubDate><description><![CDATA[第一步：自定义注解


@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface UserCheck {
    boolean validate() default true;
}

第二步：自定义拦截器，实现 HandlerInterceptorAdapter


@Component
@Slf4j
public class AuthorizationInterceptor extends Hand]]></description><category></category></item><item><title><![CDATA[SpringBoot防XSS攻击]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/121246322</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/121246322</guid><author>HDesigner</author><pubDate>Wed, 10 Nov 2021 13:26:31 +0800</pubDate><description><![CDATA[XSS是啥就不多介绍了，主要介绍一下SpringBoot用最简单的方式进行防护

首先需要引入的依赖如下



&lt;dependency&gt;
    &lt;groupId&gt;net.dreamlu&lt;/groupId&gt;
    &lt;artifactId&gt;mica-xss&lt;/artifactId&gt;
    &lt;version&gt;2.0.9-GA&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
 ]]></description><category></category></item><item><title><![CDATA[（已解决）MAC系统下使用IDEA开发工作流Activity]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120980288</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120980288</guid><author>HDesigner</author><pubDate>Wed, 27 Oct 2021 10:48:20 +0800</pubDate><description><![CDATA[首先IDEA需要安装插件，我这里的IDEA事2020版本，在插件里面根本找不着，

JetBrains Marketplace，在这里搜“actiBPM”然后把插件下载下来，然后在IDEA里面从磁盘导入插件就OK了。

然后就是IDEA里面的各种配置

首先是pom文件的配置：



        &lt;dependency&gt;
            &lt;groupId&gt;org.activiti&lt;/groupId&gt;
            &lt;artifactId&gt;]]></description><category></category></item><item><title><![CDATA[mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column...]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120947606</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120947606</guid><author>HDesigner</author><pubDate>Mon, 25 Oct 2021 10:35:44 +0800</pubDate><description><![CDATA[在sql命令行中输入select @@sql_mode;这时我们能够看到自己的sql_mode配置,其中如果有ONLY_FULL_GROUP_BY,那它就是group by查询报错的罪魁祸首了

然后就是mac系统中修改mysql的配置

针对mac端，并且没有my-default.cnf的用户

修改期间必须关闭mysql

我们要在/etc下新建my.cnf

$ cd /etc

$ sudo vim my.cnf


# For advice on how to change settings pl]]></description><category></category></item><item><title><![CDATA[(已解决)xxx.jar包中没有主清单属性]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120909970</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120909970</guid><author>HDesigner</author><pubDate>Fri, 22 Oct 2021 17:19:11 +0800</pubDate><description><![CDATA[通过IDEA打的程序包，在运行的时候，提示没有主清单属性，也就是说找不到启动类

这时候只需要在pom文件的&lt;build&gt;&lt;plugins&gt;...下加上一个配置即可


&lt;plugin&gt;
		&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
		&lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
		&lt;version&gt;2.2.2]]></description><category></category></item><item><title><![CDATA[文本同文件一并提交的后端接口处理（一个实体类）]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120906819</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120906819</guid><author>HDesigner</author><pubDate>Fri, 22 Oct 2021 15:28:18 +0800</pubDate><description><![CDATA[如果一个实体类中同时包括文件和文本类型，如：


public class entity {
    private MultipartFile inputFile1;
    private Integer number;
    private String text;
}

这时候前端给我传的内容要放在form-data中，后端在进行接受的时候也不能使用@RequestBody来接受，因为@RequstBost接受的类型为application/json，而form-data的接受类型是applic.]]></description><category></category></item><item><title><![CDATA[通过url下载文件和本地路径下载文件是不一样的！]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120850813</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120850813</guid><author>HDesigner</author><pubDate>Tue, 19 Oct 2021 17:32:04 +0800</pubDate><description><![CDATA[通过url下载文件：


    @RequestMapping(value = "/download", method = RequestMethod.GET)
    public void getRequest(HttpServletResponse response) {
        String requestPath = "http://xxx.com/demo/sys/test.pdf"
        String filename = "test.pdf";
        Input]]></description><category></category></item><item><title><![CDATA[（前后端都有）前后端分离，RSA密码加密解决方案]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120850168</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120850168</guid><author>HDesigner</author><pubDate>Tue, 19 Oct 2021 17:22:35 +0800</pubDate><description><![CDATA[RSA是非对称加密，所以需要生成一对密钥对（公钥+私钥：公钥加密，私钥解密）

整个过程可以简述为：前端通过请求，拿到公钥，在前端将敏感信息（如密码等）进行加密，然后将密文传输到后端，后端通过私钥对密文进行解密，拿到明文的信息。

上代码：

1:RSA工具类（密钥对生成、通过私钥对密文解密）


public class RSASecurityUtils {

    public static final String UTF_8 = "UTF-8";
    public static final S]]></description><category></category></item><item><title><![CDATA[（已解决）RedisTemplate写入数据 \xAC\xED\x00\x05t\x00 序列化问题]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120570741</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120570741</guid><author>HDesigner</author><pubDate>Thu, 30 Sep 2021 18:19:55 +0800</pubDate><description><![CDATA[先看现象：

Spring使用RedisTemplate进行数据缓存的时候，发现缓存的数据有序列化问题

话不多说，上图



不仅仅是key出现这种序列化问题，而且value也会出现这种情况

先把解决方案放着，要不有的人嫌事多


@Configuration
public class RedisTemplateSerializer {

    public RedisTemplate redisTemplate;

    @Autowired(required = false)
    pub..]]></description><category></category></item><item><title><![CDATA[java8新特征—Optional总结]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/120171523</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/120171523</guid><author>HDesigner</author><pubDate>Wed, 08 Sep 2021 15:48:04 +0800</pubDate><description><![CDATA[首先先介绍一下Optional，Optional就是一个容器对象。

个人理解，在日常开发中对其使用最多就是处理对象的空指针情况。

Optional有三种构造方法：



    ofNullable：这种允许传入的对象为null

    empty：这种创建出来的就是一个为空的对象

    of：这种不允许传入为null，如果为null会抛出空指针异常异常



常用的方法有：

orElse 如果值存在就将其值返回，否则返回传入的默认值
orElseGet ...]]></description><category></category></item><item><title><![CDATA[java反射框架-Reflections]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/119593646</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/119593646</guid><author>HDesigner</author><pubDate>Wed, 11 Aug 2021 09:06:54 +0800</pubDate><description><![CDATA[Reflections详细介绍

Reflections 通过扫描 classpath，索引元数据，允许在运行时查询这些元数据，也可以保存收集项目中多个模块的元数据信息。
使用 Reflections 可以查询以下元数据信息：
1）获得某个类型的所有子类型
2）获得标记了某个注解的所有类型／成员变量，支持注解参数匹配。
3）使用正则表达式获得所有匹配的资源文件
4）获得所有特定签名（包括参数，参数注解，返回值）的方法

Reflections依赖 Google 的Guava库和Javassist...]]></description><category></category></item><item><title><![CDATA[数据快照]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116520483</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116520483</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:58:18 +0800</pubDate><description><![CDATA[探究快照技术

一、什么是快照

存储网络行业协会对快照的定义是：关于指定数据集合的一个完全可用拷贝，该拷贝包括相应数据在某个时间点（拷贝开始时间点）的映像，快照可以是其所表示的数据的一个副本，也可以是数据的一个复制品。其实就像照相机一样，相机快门一闪，记录下那一时刻。不一样的就是快照可以恢复到那一时刻，但是我们却永远也会不到我们照片中的曾经时刻。

很多的情况是我们对磁盘进行快照，磁盘快照（Snapshot）是针对整个磁盘卷册进行快速的档案系统本分，与其他备份方式最主要的不同点在于“速度”，很多种快照技术]]></description><category></category></item><item><title><![CDATA[CPU虚拟化]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116520379</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116520379</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:56:01 +0800</pubDate><description><![CDATA[CPU虚拟化
中央处理器（CPU），是计算机的主要设备之一，是计算机中的核心配件。在计算机体系结构中，CPU是对计算机的所有硬件资源（如存储器、输入输出单元）进行控制调配、执行通用运算的核心硬件单元。计算机系统中.]]></description><category></category></item><item><title><![CDATA[MAVEN安装配置]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116520310</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116520310</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:53:42 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/a805814077/article/details/100545928

tips: 官网为外网，下载速度较慢，这里提供3.6.3版本的三方链接下载Maven下载



	无视下载速度以及需要其他版本的伙伴点此进入Maven官网下载
	
	
	选择左侧Download
	
	
	点击箭头所指的链接进行下载
	
	
	下载完成后，选择一个路径进行解压
	
	
	然后配置path环境变量,如图
	
系统变量:MAVEN_HOME = F:\dev\apach.]]></description><category></category></item><item><title><![CDATA[SpringBoot使用Slf4j进行日志配置]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116520104</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116520104</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:49:58 +0800</pubDate><description><![CDATA[首先在resource文件夹下面创建logback-spring.xml文件
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!-- 日志级别从低到高分为TRACE &lt; DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL，如果设置为WARN，则低于WARN的信息都不会输出 --&gt;
&lt;!-- scan:当此属性设置为true时，配置文档如果发生改变，将会被重新加载，默认值为true --&gt;
&]]></description><category></category></item><item><title><![CDATA[HTTPS的GET、POST、PUT、DELETE请求]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116520005</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116520005</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:46:15 +0800</pubDate><description><![CDATA[import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.*;
import org.apache]]></description><category></category></item><item><title><![CDATA[MybatisGenerator生成mapper、dao、entity]]></title><link>https://blog.youkuaiyun.com/HDesigner/article/details/116519795</link><guid>https://blog.youkuaiyun.com/HDesigner/article/details/116519795</guid><author>HDesigner</author><pubDate>Sat, 08 May 2021 10:41:49 +0800</pubDate><description><![CDATA[1、resource文件夹下创建generactorConfig.xml的文件
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1]]></description><category></category></item></channel></rss>