<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[码生剑气-方方圆圆]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/msu9527</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; msu9527]]></copyright><item><title><![CDATA[spring redis 实现排行榜]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/126318858</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/126318858</guid><author>msu9527</author><pubDate>Sat, 13 Aug 2022 15:22:14 +0800</pubDate><description><![CDATA[排行榜功能，redis实现，spring redis]]></description><category></category></item><item><title><![CDATA[设计模式之责任链模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/120630668</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/120630668</guid><author>msu9527</author><pubDate>Thu, 07 Oct 2021 18:00:00 +0800</pubDate><description><![CDATA[定义
责任链（Chain of Responsibility）模式的定义：为了避免请求发送者与多个请求处理者耦合在一起，于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链；当有请求发生时，可将请求沿着这条链传递，直到有对象处理它为止。
结构
职责链模式主要包含以下角色。

抽象处理者（Handler）角色：定义一个处理请求的接口，包含抽象处理方法和一个后继连接。
具体处理者（Concrete Handler）角色：实现抽象处理者的处理方法，判断能否处理本次请求，如果可以处理请求则处理，否则]]></description><category></category></item><item><title><![CDATA[设计模式之策略模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/120630642</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/120630642</guid><author>msu9527</author><pubDate>Thu, 07 Oct 2021 07:00:00 +0800</pubDate><description><![CDATA[定义
在策略模式（Strategy Pattern）中，一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
在策略模式中，我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。
结构
● Context 封装角色
它也叫做上下文角色，起承上启下封装作用，屏蔽高层模块对策略、算法的直接访问，封装可能存在的变化。
● Strategy 抽象策略角色
策略、算法家族的抽象，通常为接口，定义每个策略或算法必须具有的方法]]></description><category></category></item><item><title><![CDATA[设计模式之模板方法模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/120630519</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/120630519</guid><author>msu9527</author><pubDate>Wed, 06 Oct 2021 22:16:40 +0800</pubDate><description><![CDATA[定义
定义一个操作中的算法的框架，而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
结构
AbstractClass 叫做抽象模板，它的方法分为两类：
● 基本方法
基本方法也叫做基本操作，是由子类实现的方法，并且在模板方法被调用，包含以下几种类型：

抽象方法：在抽象类中声明，由具体子类实现。
具体方法：在抽象类中已经实现，在具体子类中可以继承或重写它。
钩子方法：在抽象类中已经实现，包括用于判断的逻辑方法和需要子类重写的空方法两种。

● 模板方法
可以有一个或]]></description><category></category></item><item><title><![CDATA[设计模式之适配器（Adapter）模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/120573149</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/120573149</guid><author>msu9527</author><pubDate>Thu, 30 Sep 2021 22:28:12 +0800</pubDate><description><![CDATA[7、适配器（Adapter）模式
定义
适配器模式属于结构型模式，将一个类的接口转换成客户希望的另外一个接口，使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
适配器模式分为类适配器模式和对象适配器模式，前者类之间的耦合度比后者高，且要求程序员了解现有组件库中的相关组件的内部结构，所以应用相对较少些。
结构
适配器模式（Adapter）包含以下主要角色：

目标（Target）接口：当前系统业务所期待的接口，它可以是抽象类或接口。
适配者（Adaptee）类：它是被访问和适配的现存组件库中的组件接口]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/120475765</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/120475765</guid><author>msu9527</author><pubDate>Sat, 25 Sep 2021 19:05:41 +0800</pubDate><description><![CDATA[6、单例模式
定义
单例模式(Singleton Pattern)：单例模式确保某一个类只有一个实例，而且自行实例化并向整个系统提供这个实例，这个类称为单例类，它提供全局访问的方法。
单例模式的要点有三个：一是某个类只能有一个实例；二是它必须自行创建这个实例；三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。
主要解决：一个全局使用的类频繁地创建与销毁。
何时使用：当您想控制实例数目，节省系统资源的时候。
如何解决：判断系统是否已经有这个单例，如果有则返回，]]></description><category></category></item><item><title><![CDATA[SpringBoot中yml、Properties配置注入Map、List]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/119776943</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/119776943</guid><author>msu9527</author><pubDate>Wed, 18 Aug 2021 11:43:27 +0800</pubDate><description><![CDATA[SpringBoot中yml、Properties配置注入Map、List
application.yml
wm:
  test-str: 9527
  test-map: {one: '1', two: '2'}
  test-list:
    - one
    - two
    - three
    - 孙悟空

YmlTestConfig.java
package com.wm.work.database.vo;

import lombok.Data;
import org.springfr]]></description><category></category></item><item><title><![CDATA[BindingException: Invalid bound statement (not found): com.*..Mapper.get源码分析]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/119298707</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/119298707</guid><author>msu9527</author><pubDate>Sun, 01 Aug 2021 15:54:11 +0800</pubDate><description><![CDATA[2021-07-21 16:03:35.539 169254213631626854594179000022164 http-nio-8005-exec-4 ERROR c.a.f.c.a.ExceptionAdvice:27 - /user/list
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.*.Mapper.get
	at org.apache.ibatis.binding.M]]></description><category></category></item><item><title><![CDATA[BindingException: Invalid bound statement (not found)]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/119059103</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/119059103</guid><author>msu9527</author><pubDate>Sat, 24 Jul 2021 15:35:45 +0800</pubDate><description><![CDATA[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com...UserInfoMapper.listByRole
报错描述：
程序一直可以正常运行，本次代码修改操作添加了新的依赖，也添加了新的mapper, xml文件。之前一运行所有的数据库查询接口无论新旧都会报这个错误。
网上的百度到的大多方法主要有以下可能：
1、检查xml文件的namespace 是否和Mapper interface 所在]]></description><category></category></item><item><title><![CDATA[五、建造者模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/119057431</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/119057431</guid><author>msu9527</author><pubDate>Sat, 24 Jul 2021 14:00:15 +0800</pubDate><description><![CDATA[5、建造者模式
代码仓库：https://gitee.com/jerry_top/wm_design_patterns.git
定义
将一个复杂对象的构建与表示分离，使得同样的构建过程可以创建不同的表示。
分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于：某个对象的构建过程复杂的情况。
由于实现了构建和装配的解耦。不同的构建器，相同的装配，也可以做出不同的对象；相同的构建器，不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算]]></description><category></category></item><item><title><![CDATA[工厂模式之抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/118528623</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/118528623</guid><author>msu9527</author><pubDate>Tue, 06 Jul 2021 20:12:31 +0800</pubDate><description><![CDATA[定义
是一种为访问类提供一个创建一组相关或相互依赖对象的接口，且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。
抽象工厂模式是工厂方法模式的升级版本，工厂方法模式只生产一个等级的产品，而抽象工厂模式可生产多个等级的产品。
为了更清晰地理解抽象工厂模式，需要先引入两个概念：

产品等级结构 ：产品等级结构即产品的继承结构，如一个抽象类是水果，其子类有苹果、香蕉，则抽象水果与具体名称的水果之间构成了一个产品等级结构，抽象水果是父类，而具体名称的水果是其子类。
产品族 ：在抽象工厂模式中，]]></description><category></category></item><item><title><![CDATA[工厂模式之工厂方法模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/118280921</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/118280921</guid><author>msu9527</author><pubDate>Sun, 04 Jul 2021 21:55:49 +0800</pubDate><description><![CDATA[定义

定义一个用于创建对象的接口，让子类决定实例化哪个产品类对象。工厂方法使一个产品类的实例化延迟到其工厂的子类。

结构

工厂方法模式的主要角色：


	抽象工厂（Abstract Factory）：提供了创建产品的接口，调用者通过它访问具体工厂的工厂方法来创建产品。
	
	
	具体工厂（ConcreteFactory）：主要是实现抽象工厂中的抽象方法，完成具体产品的创建。
	
	
	抽象产品（Product）：定义了产品的规范，描述了产品的主要特性和功能。
	
	
	具体产品（ConcretePro]]></description><category></category></item><item><title><![CDATA[工厂模式-简单工厂模式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/118437246</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/118437246</guid><author>msu9527</author><pubDate>Sun, 04 Jul 2021 16:31:59 +0800</pubDate><description><![CDATA[工厂模式
1、普通写法
类图

案例
public abstract class Fruit {

    abstract String getName();

    void wash(){
        System.out.println("洗水果");
    }

    void cut(){
        System.out.println("切水果");
    }

}

public class AppleFruit extends Fruit {

    @Override]]></description><category></category></item><item><title><![CDATA[Refreshing FeignContext-service-xxx]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/115858679</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/115858679</guid><author>msu9527</author><pubDate>Mon, 19 Apr 2021 10:19:13 +0800</pubDate><description><![CDATA[Refreshing FeignContext-service-xxx
卡住没有报错，
可能是项目有断点，检查，把断点去掉，即可
]]></description><category></category></item><item><title><![CDATA[java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/108221039</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/108221039</guid><author>msu9527</author><pubDate>Tue, 25 Aug 2020 14:51:31 +0800</pubDate><description><![CDATA[Connected to the target VM, address: '127.0.0.1:49333', transport: 'socket'
Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle
	at java.lang.ClassLoader.defineClass1(Native Metho.]]></description><category></category></item><item><title><![CDATA[mysql: client does not support authentication]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/84578490</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/84578490</guid><author>msu9527</author><pubDate>Wed, 28 Nov 2018 09:11:47 +0800</pubDate><description><![CDATA[命令：

1、mysql -hlocalhost -uroot -pqq123123

2、use mysql;

3、alter user 'root'@'localhost' identified with mysql_native_password by 'qq123123';

4、flush privileges;

 

 

]]></description><category></category></item><item><title><![CDATA[postman全部导出导入]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/84569150</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/84569150</guid><author>msu9527</author><pubDate>Tue, 27 Nov 2018 17:05:36 +0800</pubDate><description><![CDATA[1、postman全部导出（file-settings-Data）



 

2、postman全部导入

]]></description><category></category></item><item><title><![CDATA[bootstrap-table 记录]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/84378017</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/84378017</guid><author>msu9527</author><pubDate>Fri, 23 Nov 2018 11:19:25 +0800</pubDate><description><![CDATA[官方文档：http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/


使用 uncheckBy 时注意value 的类型，int 可加 &quot;&quot; 变为String 类型


$(&quot;#table&quot;).bootstrapTable(&quot;uncheckBy&quot;, {field:&quot;field_name&quot;, values:[&quot;value1&quot;,&quot;val.]]></description><category></category></item><item><title><![CDATA[org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog 服务连接不上]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/80807644</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/80807644</guid><author>msu9527</author><pubDate>Mon, 25 Jun 2018 21:37:04 +0800</pubDate><description><![CDATA[org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
	at org.apach...]]></description><category></category></item><item><title><![CDATA[15种CSS居中的方式]]></title><link>https://blog.youkuaiyun.com/msu9527/article/details/80165403</link><guid>https://blog.youkuaiyun.com/msu9527/article/details/80165403</guid><author>msu9527</author><pubDate>Wed, 02 May 2018 13:40:56 +0800</pubDate><description><![CDATA[当某种方式有冲突时可参考其他方式点击打开链接]]></description><category></category></item></channel></rss>