<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[l1306395862的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/l1306395862</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; l1306395862]]></copyright><item><title><![CDATA[spring oauth2 自定义短信验证]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/113854644</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/113854644</guid><author>l1306395862</author><pubDate>Thu, 18 Feb 2021 23:56:50 +0800</pubDate><description><![CDATA[AbstractTokenGranter 是一个抽象类,它由四个默认实现方式,分别对应了四种默认授权模式
所有如果需要新增模式 继承这个类
ResourceOwnerPasswordTokenGranter
参照这个类
1. 修改 grantyType —&gt; sms_code
2. 修改 UsernamePasswordAuthenticationToken —&gt; SmsAuthenticationToken(自定义)

public class SmsCodeTokenGranter exte]]></description><category></category></item><item><title><![CDATA[elasticsearch docker 安装]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/111560489</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/111560489</guid><author>l1306395862</author><pubDate>Tue, 22 Dec 2020 17:03:48 +0800</pubDate><description><![CDATA[mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0"&gt;&gt;/mydata/elasticsearch/config/elasticsearch.yml

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e “discovery.type=single-node” \
-e ES_.]]></description><category></category></item><item><title><![CDATA[docker  安装 rabbitmq]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108648705</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108648705</guid><author>l1306395862</author><pubDate>Thu, 17 Sep 2020 17:38:25 +0800</pubDate><description><![CDATA[拉取 rabbitmq
docker pull rabbitmq:3.7.7-management

运行rabbitmq
docker run -d --hostname my-rabbit --name rabbit -v /data/rabbitmq:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:3.7.7-mana]]></description><category></category></item><item><title><![CDATA[linux下载jdk1.8]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108603170</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108603170</guid><author>l1306395862</author><pubDate>Tue, 15 Sep 2020 18:30:15 +0800</pubDate><description><![CDATA[查看状态
systemctl status firewalld

关闭
systemctl stop firewalld

关闭开机自启动
systemctl disable firewalld

搜索是否存在
rmp (package management)
rmp -qa|grep docker  
rmp -qa|grep jdk

下载文件
yum(yellowdog updater modified)
yum search jdk 查看下载文件版本
yum install -y java-1.8.]]></description><category></category></item><item><title><![CDATA[docker安装]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108558629</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108558629</guid><author>l1306395862</author><pubDate>Sun, 13 Sep 2020 17:17:18 +0800</pubDate><description><![CDATA[第一步 移除旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrota]]></description><category></category></item><item><title><![CDATA[vue 基于vue-admin-tempdate 动态路由 和 按钮显示，隐藏控制]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108544674</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108544674</guid><author>l1306395862</author><pubDate>Sat, 12 Sep 2020 07:10:48 +0800</pubDate><description><![CDATA[登陆 拉取用户菜单的时候 将具有的button权限一起返回
import { constantRoutes } from '@/router'
import { getMenu } from '@/api/menu'
import Layout from '@/views/layout'
import {getRoutes,setRoutes} from '@/utils/auth.js'

function filterAsyncRouter(asyncRouterMap) { // 遍历后台传来的路由字]]></description><category></category></item><item><title><![CDATA[spring security Jwt令牌 （前后端分离）]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108512965</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108512965</guid><author>l1306395862</author><pubDate>Thu, 10 Sep 2020 16:00:44 +0800</pubDate><description><![CDATA[详细流程和想了解源码
请跳转,大神写的很详细
(https://blog.youkuaiyun.com/yuanlaijike/article/details/80249235)
需要的依赖包

		&lt;dependency&gt;
			&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
			&lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
		&lt;/dependency&gt]]></description><category></category></item><item><title><![CDATA[springboot 统一返回JSON数据 和全局异常处理]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108354360</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108354360</guid><author>l1306395862</author><pubDate>Wed, 02 Sep 2020 02:22:10 +0800</pubDate><description><![CDATA[第一步 定义一个接口 设置统一返回码
public interface RespCode {
    Integer OK =20000;
    Integer ERROR =20001;
}


第二步 定义一个统一格式的返回类(包含状态码，返回状态，返回消息，返回数据)
@Data
public class R {
    private Integer code;
    private boolean status;
    private String message;
    private ]]></description><category></category></item><item><title><![CDATA[spring boot redis配置类]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108302227</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108302227</guid><author>l1306395862</author><pubDate>Sun, 30 Aug 2020 02:20:32 +0800</pubDate><description><![CDATA[配置redisTemplate 模板 和 注册redis缓存管理器
@EnableCaching
@Configuration
public class customRedisConfig extends  CachingConfigurerSupport {
    @Bean
    public RedisTemplate&lt;String, Object&gt; redisTemplate(RedisConnectionFactory factory) {
        RedisTemplat]]></description><category></category></item><item><title><![CDATA[spring boot 整合 阿里云视频点播]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108302209</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108302209</guid><author>l1306395862</author><pubDate>Sun, 30 Aug 2020 02:12:51 +0800</pubDate><description><![CDATA[详细配置请去阿里云官网查看
第一步 开通视频点播服务
第二步 添加依赖
&lt;dependency&gt;
			&lt;groupId&gt;com.aliyun.oss&lt;/groupId&gt;
			&lt;artifactId&gt;aliyun-sdk-oss&lt;/artifactId&gt;
			&lt;version&gt;3.1.0&lt;/version&gt;
		&lt;/dependency&gt;

		&lt;dependency&gt;
			&lt;groupI]]></description><category></category></item><item><title><![CDATA[spring boot 阿里云 短信服务]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108298255</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108298255</guid><author>l1306395862</author><pubDate>Sat, 29 Aug 2020 20:25:20 +0800</pubDate><description><![CDATA[第一步 开通阿里云短信服务  申请签名 和 模板
第二步 添加maven依赖
&lt;dependency&gt;
    &lt;groupId&gt;com.aliyun&lt;/groupId&gt;
    &lt;artifactId&gt;aliyun-java-sdk-core&lt;/artifactId&gt;
    &lt;version&gt;4.5.1&lt;/version&gt;
&lt;/dependency&gt;

第三步 工具类 生成四位验证码
public class]]></description><category></category></item><item><title><![CDATA[spring boot 测试 阿里云上传图片 返回图片地址]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108298084</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108298084</guid><author>l1306395862</author><pubDate>Sat, 29 Aug 2020 19:02:48 +0800</pubDate><description><![CDATA[第一步 开通阿里云oss服务  获得密钥
	https://www.aliyun.com/product/oss

第二步 配置maven依赖
		&lt;dependency&gt;
			&lt;groupId&gt;com.aliyun.oss&lt;/groupId&gt;
			&lt;artifactId&gt;aliyun-sdk-oss&lt;/artifactId&gt;
			&lt;version&gt;3.10.2&lt;/version&gt;
		&lt;/dependency&]]></description><category></category></item><item><title><![CDATA[spring boot 整合mybatisPlus-Generator  Swagger]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/108287551</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/108287551</guid><author>l1306395862</author><pubDate>Sat, 29 Aug 2020 04:30:25 +0800</pubDate><description><![CDATA[第一步 	导入依赖
&lt;dependency&gt;
    &lt;groupId&gt;com.baomidou&lt;/groupId&gt;
    &lt;artifactId&gt;mybatis-plus-boot-starter&lt;/artifactId&gt;
    &lt;version&gt;3.4.0&lt;/version&gt;
&lt;/dependency&gt;
&lt;-- 自动代码生成器模板--&gt;
&lt;dependency&gt;
    &lt;g]]></description><category></category></item><item><title><![CDATA[spring boot 整合Jqury 和 bootstrap]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107467557</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107467557</guid><author>l1306395862</author><pubDate>Mon, 20 Jul 2020 17:03:07 +0800</pubDate><description><![CDATA[导入webjars
　　　　　&lt;dependency&gt;
            &lt;groupId&gt;org.webjars&lt;/groupId&gt;
            &lt;artifactId&gt;jquery&lt;/artifactId&gt;
            &lt;version&gt;3.4.1&lt;/version&gt;
        &lt;/dependency&gt;

        &lt;dependency&gt;
      ]]></description><category></category></item><item><title><![CDATA[spring 注解开发01]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107357318</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107357318</guid><author>l1306395862</author><pubDate>Wed, 15 Jul 2020 12:31:11 +0800</pubDate><description><![CDATA[configuration
	声明这是一个注解类，替换原来的xml文件

ComponentScan
扫描指定包及其子包的component组件（conponent,controller,service,repository）
includeFilters 包含过滤的信息
excludeFilters 排除过滤的信息
	过滤的类型：	assignable 	包含(排除) 指定的类
						 	annocation	包含(排除) 指定的注解(conponent,controller,service,rep]]></description><category></category></item><item><title><![CDATA[spring boot整合 lettuce]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107322150</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107322150</guid><author>l1306395862</author><pubDate>Mon, 13 Jul 2020 19:05:58 +0800</pubDate><description><![CDATA[导入依赖
		
		&lt;!--spring boot 2.0以后默认使用lettuce--&gt;
		&lt;dependency&gt;
			&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
			&lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt;
		&lt;/dependency&gt;
		&lt;!--lettuce 依赖commons-pool]]></description><category></category></item><item><title><![CDATA[spring boot 整合jedis]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107316956</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107316956</guid><author>l1306395862</author><pubDate>Mon, 13 Jul 2020 16:10:56 +0800</pubDate><description><![CDATA[## 导入依赖

&lt;dependency&gt;
	&lt;groupId&gt;redis.clients&lt;/groupId&gt;
	&lt;artifactId&gt;jedis&lt;/artifactId&gt;
&lt;/dependency&gt;

配置文件
spring:
  redis:
    port: 6379
    host: 192.168.255.128
    password: root
    jedis:
      pool:
        max-]]></description><category></category></item><item><title><![CDATA[redis hash常用命令]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107314382</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107314382</guid><author>l1306395862</author><pubDate>Mon, 13 Jul 2020 12:22:45 +0800</pubDate><description><![CDATA[hset key f1 v1 存储 例如  hset user:1 name zhangsan
hmset key f1 v1 f2 v2  存储多个键值对
hsetnx key f1 v1 如果存在不覆盖原来的 不存在设置新值
hget key f1	取出f1对应的值
hmget key f1 f2 取出f1 f2对应的值
hgetall key  取出所有的field 和 value 值
hkeys key 查看key中的所有field
hlen key 查看key中的field的个数
hdel key]]></description><category></category></item><item><title><![CDATA[redis String常用命令]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107312090</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107312090</guid><author>l1306395862</author><pubDate>Mon, 13 Jul 2020 11:39:52 +0800</pubDate><description><![CDATA[keys *  查看所有key
exists key 查看key是否存在
expire key 时间(second) 设置key过期时间
ttl key  查看过期时间  -1代表永久 -2代表过期
del key 删除指定key
rename key newkey 修改key的名字
type key 返回key的类型
string
set key value 保存一个键值对
setnx key value : not exists  如果key存在 返回0 不覆盖 如果key不存在 返回1 保存键值对
s]]></description><category></category></item><item><title><![CDATA[LINUX常用命令]]></title><link>https://blog.youkuaiyun.com/l1306395862/article/details/107287706</link><guid>https://blog.youkuaiyun.com/l1306395862/article/details/107287706</guid><author>l1306395862</author><pubDate>Sat, 11 Jul 2020 18:47:56 +0800</pubDate><description><![CDATA[操作目录
pwd  	查看当前所在目录
ls			查看当前目录包含的文件和文件夹
ls -a		查看当前目录的所有文件 包含隐藏文件
ls -l		查看当前目录详细的信息
cd		切换目录
cd … 	切换到上一级目录
mkdir 	创建一个目录
mkdir -p aaa/bbb	创建多级目录
rmdir	移除一个空的目录
操作文件
cat(concatenate) 	查看文件的所有内容
more 	可以通过空格 上下键 回车就行操作  退出 -q
less		可以通过空格 上下键 回车就行操作  退出 -]]></description><category></category></item></channel></rss>