<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Steven_sf的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Steven_sf</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Steven_sf]]></copyright><item><title><![CDATA[springboot使用jackson序列化报错]]></title><link>https://blog.csdn.net/Steven_sf/article/details/133013440</link><guid>https://blog.csdn.net/Steven_sf/article/details/133013440</guid><author>Steven_sf</author><pubDate>Tue, 19 Sep 2023 09:37:55 +0800</pubDate><description><![CDATA[springboot使用jackson序列化报错]]></description><category></category></item><item><title><![CDATA[Mysql开启远程连接]]></title><link>https://blog.csdn.net/Steven_sf/article/details/114791240</link><guid>https://blog.csdn.net/Steven_sf/article/details/114791240</guid><author>Steven_sf</author><pubDate>Sun, 14 Mar 2021 15:58:37 +0800</pubDate><description><![CDATA[方式1：改表
use  mysql;
update user set host = '%' where user = 'root'; # root为用户名

方式2: 修改权限
# 【必选步骤】
use  mysql;

# 赋予任何主机访问数据的权限【三选一】
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; # root为用户名

# 想myuser使用mypassword从任何主机连接到mysql服务器【三选一】
GRANT ALL]]></description><category></category></item><item><title><![CDATA[Docker安装Mysql]]></title><link>https://blog.csdn.net/Steven_sf/article/details/114791055</link><guid>https://blog.csdn.net/Steven_sf/article/details/114791055</guid><author>Steven_sf</author><pubDate>Sun, 14 Mar 2021 15:56:47 +0800</pubDate><description><![CDATA[1 版本说明
Docker版本：19.03.12
Mysql版本：5.6
2 下载镜像
docker pull mysql:5.6

3 启动容器
docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=root  mysql:5.6

-e MYSQL_ROOT_PASSWORD : 设置root用户的密码
4 开启远程访问
4.1 进入容器，修改root用户允许远程访问
docker exec -it ce4baa24fc76 /]]></description><category></category></item><item><title><![CDATA[Maven项目中集成Slf4j和logback]]></title><link>https://blog.csdn.net/Steven_sf/article/details/114790378</link><guid>https://blog.csdn.net/Steven_sf/article/details/114790378</guid><author>Steven_sf</author><pubDate>Sun, 14 Mar 2021 15:50:02 +0800</pubDate><description><![CDATA[1 添加依赖
&lt;dependency&gt;
     &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
     &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
     &lt;groupId&gt;ch.qos.logback&lt;/groupId&gt;
     &lt;artifactId&gt;logback-classic&lt;]]></description><category></category></item><item><title><![CDATA[Quartz定时器使用]]></title><link>https://blog.csdn.net/Steven_sf/article/details/113570891</link><guid>https://blog.csdn.net/Steven_sf/article/details/113570891</guid><author>Steven_sf</author><pubDate>Tue, 02 Feb 2021 18:12:00 +0800</pubDate><description><![CDATA[参考链接：
https://www.cnblogs.com/vmask/p/8728691.html
https://www.cnblogs.com/qlqwjy/p/8721963.html
添加Maven依赖
&lt;dependency&gt;
   &lt;groupId&gt;org.quartz-scheduler&lt;/groupId&gt;
   &lt;artifactId&gt;quartz&lt;/artifactId&gt;
   &lt;version&gt;2.3.2&lt;/]]></description><category></category></item><item><title><![CDATA[socks5协议详解]]></title><link>https://blog.csdn.net/Steven_sf/article/details/111658723</link><guid>https://blog.csdn.net/Steven_sf/article/details/111658723</guid><author>Steven_sf</author><pubDate>Thu, 24 Dec 2020 23:55:07 +0800</pubDate><description><![CDATA[socks5协议详解

]]></description><category></category></item><item><title><![CDATA[MacBook Pro安装、卸载MySQL教程]]></title><link>https://blog.csdn.net/Steven_sf/article/details/111242564</link><guid>https://blog.csdn.net/Steven_sf/article/details/111242564</guid><author>Steven_sf</author><pubDate>Tue, 15 Dec 2020 22:59:22 +0800</pubDate><description><![CDATA[Mysql官网地址：https://www.mysql.com
1 下载


进入官网后，点击“DOWNLOADS”，如下图所示：



往下滚动页面，找到“MySQL Community (GPL) Downloads »”，点击进入下载选择页面，如下图所示：



选择“MySQL Community Server”：



可以选择下载最新版本的Mysql，或者选择对应的版本进行下载，如下图所示：
【默认是下载最新版本，可以点击“Archives”，选择对应的版本进行下载】



如下图所示，我选择的]]></description><category></category></item><item><title><![CDATA[springcloud gateway基于nacos实现动态路由]]></title><link>https://blog.csdn.net/Steven_sf/article/details/108589636</link><guid>https://blog.csdn.net/Steven_sf/article/details/108589636</guid><author>Steven_sf</author><pubDate>Mon, 14 Sep 2020 22:27:57 +0800</pubDate><description><![CDATA[1 创建动态路由表
在nacos上新增一个配置，专门用来配置网关路由信息，格式为json格式，如下所示：
{
    # 是否要更新路由表信息标识
    "refreshGatewayRoute":true,
    "routeList":[
        {
            # 唯一标识
            "id":"project1",
            "predicates":[
                {
                    "name":"P]]></description><category></category></item><item><title><![CDATA[正向代理和反向代理]]></title><link>https://blog.csdn.net/Steven_sf/article/details/107731092</link><guid>https://blog.csdn.net/Steven_sf/article/details/107731092</guid><author>Steven_sf</author><pubDate>Sat, 01 Aug 2020 15:20:42 +0800</pubDate><description><![CDATA[周六早上，一位朋友拉着我，和我争论了将近两个小时的正向代理和反向代理，最终决定把结果做个简单的记录。

代理服务器分为正向代理和反向代理两种，下面通过两张图来说明一下正向代理和反向代理：
正向代理：

当客户端向服务端发送请求时，由于无法直接请求到服务端，需要通过一个代理来访问服务端，这个代理就叫正向代理，此时的代理是为客户端工作的，客户端会把自己要做的事委托给代理去做，而对于服务端来说，它并不知道真正请求的客户端是谁，客户端对于服务端而言是透明的，它只知道代理服务器的存在。
反向代理：

还有一种代理被.]]></description><category></category></item><item><title><![CDATA[SSL证书生成工具]]></title><link>https://blog.csdn.net/Steven_sf/article/details/107730893</link><guid>https://blog.csdn.net/Steven_sf/article/details/107730893</guid><author>Steven_sf</author><pubDate>Sat, 01 Aug 2020 14:54:18 +0800</pubDate><description><![CDATA[1.下载脚本文件
下载链接：https://download.csdn.net/download/Steven_sf/12678429
2.执行脚本命令：
./secret.sh --ssl-domain=steven.com.cn --ssl-trusted-domain=steven2.com.cn --ssl-trusted-ip=1.1.1.1 --ssl-size=2048 --ssl-date=3650
参数说明：
–ssl-domain: 生成ssl证书需要的主域名，如不指定则默认为local]]></description><category></category></item><item><title><![CDATA[spring中的controller]]></title><link>https://blog.csdn.net/Steven_sf/article/details/107623040</link><guid>https://blog.csdn.net/Steven_sf/article/details/107623040</guid><author>Steven_sf</author><pubDate>Mon, 27 Jul 2020 22:27:13 +0800</pubDate><description><![CDATA[Q: Spring中的Controller是单例还是多例？
A: 默认情况下是单例的，可以通过注解@Scope(“xxx”)来改变。
因为是单例的，所以会出现线程安全问题，建议：

不要在Controller中定义成员变量。
如果必须要定义一个非静态成员变量时候，可以通过注解@Scope(“prototype”)，将其设置为多例模式。
在Controller中使用ThreadLocal变量。

Extend
spring bean作用域有以下5个：
singleton: 单例模式，当spring创建appl]]></description><category></category></item><item><title><![CDATA[macbook pro使用svn]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106990251</link><guid>https://blog.csdn.net/Steven_sf/article/details/106990251</guid><author>Steven_sf</author><pubDate>Sat, 27 Jun 2020 23:59:27 +0800</pubDate><description><![CDATA[1简介
macbook pro笔记本自带了svn环境，可通过"svn help"查看。
2 常见问题
问题1: svn: error: The subversion command line tools are no longer provided by Xcode
解决方案：
【参考博客：https://blog.csdn.net/weixin_42100147/article/details/106800721】

下载homebrew

 /bin/bash -c "$(curl -fsSL http]]></description><category></category></item><item><title><![CDATA[macbook pro配置maven环境变量]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106977803</link><guid>https://blog.csdn.net/Steven_sf/article/details/106977803</guid><author>Steven_sf</author><pubDate>Sat, 27 Jun 2020 02:03:42 +0800</pubDate><description><![CDATA[1 下载maven安装包
2 打开终端
3 查看jdk目录
输入命令：/usr/libexec/java_home -V
4 输入命令：vim ~/.bash_profile
5 配置参数：
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
JAVA_BIN=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Homebin 
CLASSPA]]></description><category></category></item><item><title><![CDATA[设计模式-建造者(Bulider)模式]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106630921</link><guid>https://blog.csdn.net/Steven_sf/article/details/106630921</guid><author>Steven_sf</author><pubDate>Tue, 09 Jun 2020 00:33:40 +0800</pubDate><description><![CDATA[1. introduction
本文参考https://blog.csdn.net/eson_15/category_6172272.html。
2.what?
建造者模式时设计模式中的一种，它可以将一个复杂对象的构建与它的表示分离，使得同样的构建过程可以创建不同的表示。
3.why?
1.封装性：使用建造者模式可以使客户端不必知道产品内部组成的细节。
2.容易扩展：建造者独立是相互独立的，对系统扩展非常有利。
3.便于控制细节风险：由于具体的建造者是独立的，因此可以对建造者过程逐步细化，而不对其他的模块产]]></description><category></category></item><item><title><![CDATA[Provider for class javax.xml.stream.XMLInputFactory cannot be created]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106544645</link><guid>https://blog.csdn.net/Steven_sf/article/details/106544645</guid><author>Steven_sf</author><pubDate>Thu, 04 Jun 2020 13:45:02 +0800</pubDate><description><![CDATA[本地程序，在eclipse中可以正常启动，但是通过java -jar启动jar包时，报错了：
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.function.support.RouterFunctionMapping]: Factory method 'routerFunctionMapping' threw exc]]></description><category></category></item><item><title><![CDATA[引入spring.factories给自己埋下的坑]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106535808</link><guid>https://blog.csdn.net/Steven_sf/article/details/106535808</guid><author>Steven_sf</author><pubDate>Thu, 04 Jun 2020 00:12:35 +0800</pubDate><description><![CDATA[背景
在项目开发中，自定义了多个配置类，希望能够通过某种方式来控制加载顺序，于是使用了spring.factories文件。
现象
引入spring.factories文件后，导致原本写在application.yml文件中的server.port不生效了。
分析
首先，看一下@Configuration注解的类
@Configuration
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)
@EnableConfigurationProperties({ Se]]></description><category></category></item><item><title><![CDATA[记一次durid升级踩的坑]]></title><link>https://blog.csdn.net/Steven_sf/article/details/106534763</link><guid>https://blog.csdn.net/Steven_sf/article/details/106534763</guid><author>Steven_sf</author><pubDate>Wed, 03 Jun 2020 22:49:55 +0800</pubDate><description><![CDATA[记一次durid升级踩的坑背景现象解决步骤结束语
背景
公司在进行整体框架的升级改造，之前引用的durid版本为1.1.6，一直正常使用，在进行新框架的升级中，将durid-V1.1.6升级为durid-V1.1.22。
现象
在启动项目时，控制台报错了，报错信息如下：
Description:

Failed to bind properties under 'spring.datasource.type' to java.lang.Class&lt;javax.sql.DataSource&gt;:

]]></description><category></category></item><item><title><![CDATA[java输出“☐、☑”等特殊符号]]></title><link>https://blog.csdn.net/Steven_sf/article/details/103380383</link><guid>https://blog.csdn.net/Steven_sf/article/details/103380383</guid><author>Steven_sf</author><pubDate>Wed, 04 Dec 2019 09:04:52 +0800</pubDate><description><![CDATA[public static void main(String[] args) {
		int[] code = {0x2610, 0x2611, 0x2612, 0x2613, 0x2614, 0x2615, 0x2616};
		for (int i = 0; i &lt; 7; i++) {
			String s1 = new String(code, i, 1);
			Syste...]]></description><category></category></item><item><title><![CDATA[maven打包时，通过命令，根据不同的环境，将不同的依赖包添加到打出的包中]]></title><link>https://blog.csdn.net/Steven_sf/article/details/103215763</link><guid>https://blog.csdn.net/Steven_sf/article/details/103215763</guid><author>Steven_sf</author><pubDate>Sat, 23 Nov 2019 16:54:05 +0800</pubDate><description><![CDATA[在项目开发中，可能会遇到下面这种场景：同样一个网关组件，一个环境下使用的是zuul，另一个环境下使用的是Gateway，那么在通过maven打包的时候，如何通过maven命令，自动的将上面的依赖区分开，根据参数将不同的依赖添加到包中呢？

这里用到了"profiles"这个标签，请看下面的例子：

注意：这里没有写网关的依赖，而是写的自己用来测试的依赖。
&lt;profiles&gt;
		&...]]></description><category></category></item><item><title><![CDATA[【设计模式】策略模式]]></title><link>https://blog.csdn.net/Steven_sf/article/details/89506287</link><guid>https://blog.csdn.net/Steven_sf/article/details/89506287</guid><author>Steven_sf</author><pubDate>Thu, 25 Apr 2019 00:33:23 +0800</pubDate><description><![CDATA[定义
定义一组算法，将每个算法都封装起来，并且使它们之间可以互换。【维基百科】
起源
在一个系统中，针对同一种行为，需要针对不同的情况有各自具体的实现，这时，如果不采用一种比较好的设计模式的话，会出现许多if…else(if)语句，为了避免这种情况的发生，于是就有了设计模式。
类图

说明：

Stategy&nbsp;&nbsp;&nbsp;&nbsp;策略，也就是上文提到的行为
Concret...]]></description><category></category></item></channel></rss>