<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[指尖互联科技-刘潇繁]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Steven_LXF</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Steven_LXF]]></copyright><item><title><![CDATA[Maven 多模块管理]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/121946933</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/121946933</guid><author>Steven_LXF</author><pubDate>Thu, 16 Dec 2021 09:38:36 +0800</pubDate><description><![CDATA[Maven 多模块管理
创建方法
新建一个maven项目
pom是项目对象模型（project object module），是可以被继承的，多模块就是让子模块继承父模块的pom。 maven 父工程必须遵循两点要求

packaging 标签的文本内容必须设置为pom


packaging 标签是指打包的方式，默认为jar


删除掉src目录

注意点

父pom文件中dependencies标签中添加的依赖，子模块中无条件继承，子模块无需在自己的pom文件中添加依赖生命也会包含父dependenci]]></description><category></category></item><item><title><![CDATA[APK签名命令]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/121392503</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/121392503</guid><author>Steven_LXF</author><pubDate>Tue, 23 Nov 2021 15:07:02 +0800</pubDate><description><![CDATA[apksigner ，默认同时使用V1和V2签名
进入Android SDK/build-tools/SDK版本, 输入命令
apksigner sign --ks 密钥库名 --ks-key-alias 密钥别名 xxx.apk
若密钥库中有多个密钥对,则必须指定密钥别名
apksigner sign --ks 密钥库名 --ks-key-alias 密钥别名 xxx.apk
–ks-key-alias 密钥库别名，若密钥库只有一个密钥对，则可省略，反之必选

...]]></description><category></category></item><item><title><![CDATA[React Native踩坑指南]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/121381123</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/121381123</guid><author>Steven_LXF</author><pubDate>Wed, 17 Nov 2021 16:15:58 +0800</pubDate><description><![CDATA[React Native踩坑指南
react-navigation

拦截返回按钮

import { HeaderBackButton } from 'react-navigation-stack'
// 组建内部
static navigationOptions = ({navigation})=&gt;{
    return {
      headerLeft: (
        &lt;HeaderBackButton
            onPress={() =&gt; {consol]]></description><category></category></item><item><title><![CDATA[命令行备忘]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/121360455</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/121360455</guid><author>Steven_LXF</author><pubDate>Tue, 16 Nov 2021 17:08:30 +0800</pubDate><description><![CDATA[命令行
cp
复制文件带路径
# Linux
cp --parents or cp --path src target
# mac
rsync -R  src target


]]></description><category></category></item><item><title><![CDATA[支付宝踩坑备忘]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/121029277</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/121029277</guid><author>Steven_LXF</author><pubDate>Fri, 29 Oct 2021 10:24:25 +0800</pubDate><description><![CDATA[使用流程

开通产品

在产品中创建应用

配置开发信息

添加能力，并申请签约上线

appid 绑定


使用ijpay开发注意点

支付证书如果放在resource目录下，需要在AliPayBean中的appCertPath、aliPayCertPath、aliPayRootCertPath 的set方法中使用获取绝对路径的方法，具体如下

public void setAliPayCertPath(String aliPayCertPath) {
		// 原来是this.aliPayCertPat]]></description><category></category></item><item><title><![CDATA[RuoYi框架使用爬坑指南]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/120348819</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/120348819</guid><author>Steven_LXF</author><pubDate>Fri, 17 Sep 2021 14:49:51 +0800</pubDate><description><![CDATA[自定义过滤器的使用方法


传送门


application.yml中定义的参数，获取的值为null。


在RuoYiCoinfig的类中set方法去掉static即可，参考网址


]]></description><category></category></item><item><title><![CDATA[RuoYi框架添加自定义的过滤器]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/120043433</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/120043433</guid><author>Steven_LXF</author><pubDate>Wed, 01 Sep 2021 16:49:10 +0800</pubDate><description><![CDATA[ruoyi框架使用了shiro框架， 因此，如果采用一般的方式的话，Filter的加载顺序应该在shiro之前，这样会导致你取session失败或者直接退出登录。也就是每个经过filter的session和控制器中的session不一致。可以使用shiro提供的Filter，要在shiro之后加载就可以了。步骤如下：

在com/ruoyi/framework/shiro/web/filter中添加一个过滤器，例如AuthFilter，代码如下

public class UAuthFilter exten]]></description><category></category></item><item><title><![CDATA[Redis 笔记]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/118295868</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/118295868</guid><author>Steven_LXF</author><pubDate>Mon, 28 Jun 2021 10:30:56 +0800</pubDate><description><![CDATA[Redis笔记
redis远程访问
服务端设置

打开 redis.conf
做如下修改

protected-mode no # 保护模式
#bind 127.0.0.1  #将这一行注释，表示不要绑定本地主机


]]></description><category></category></item><item><title><![CDATA[并发问题演示]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/112184260</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/112184260</guid><author>Steven_LXF</author><pubDate>Mon, 04 Jan 2021 16:22:28 +0800</pubDate><description><![CDATA[/**
 * 多次执行，每次count的值都不同，说明不支持并发
 */
public class ConcurrencyTest {

    public static int clientTotal = 5000;

    public static int threadTotal = 200;

    public static int count = 0;

    public static void main(String[] args) throws InterruptedExcepti]]></description><category></category></item><item><title><![CDATA[线程安全性]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/112183945</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/112183945</guid><author>Steven_LXF</author><pubDate>Mon, 04 Jan 2021 16:19:37 +0800</pubDate><description><![CDATA[线程安全性
原子性
提供了互斥访问，同一时刻，只能有一个线程对他进行访问
可见性
一个线程对主内存的修改，可以及时的被其他线程观察到
有序性
一个线程观察其他线程中的指令执行顺序，由于指令重排序的存在，该观察结果一般杂乱无序

...]]></description><category></category></item><item><title><![CDATA[Spring Boot 问题集锦]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/108939409</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/108939409</guid><author>Steven_LXF</author><pubDate>Tue, 06 Oct 2020 14:59:43 +0800</pubDate><description><![CDATA[Spring Boot 问题集锦
前端post提交的json数据，后端接收不到
使用 @RequestBody 注解参数。(@RequestBody JSONObject form)，form变量就存储了前端提交过来的json对象

]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Druid和MyBatis简介]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/107098262</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/107098262</guid><author>Steven_LXF</author><pubDate>Fri, 03 Jul 2020 14:31:38 +0800</pubDate><description><![CDATA[SpringBoot整合Druid和MyBatis简介
整合阿里Druid数据库连接池
整合Druid，需要几个其他的依赖的配合，分别如下：

MySQL驱动，pom引入时，最好不带版本号，因为springboot定义好了版本
Druid的Druid Spring Boot Starter·版本，这个需要带版本
MyBatis的MyBatis Spring Boot Starter版本，这个也需要带版本

最简配置预览：
spring:
  datasource:
  	# 必须是这个
    type: ]]></description><category></category></item><item><title><![CDATA[Spring 拦截器的使用方式]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/107076347</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/107076347</guid><author>Steven_LXF</author><pubDate>Thu, 02 Jul 2020 12:43:29 +0800</pubDate><description><![CDATA[Spring 拦截器的使用方式
基础拦截器
Spring的拦截器主要针对的是对Controller类的业务进行预处理和后处理。

Sping Framwork 5.0 以后的版本可以直接实现 HandlerInterceptor 接口，HandlerInterceptorAdapter成为一个Deprecated 类，以前的版本继承HandlerInterceptorAdapter抽象类。

HandlerInterceptor接口有三个需要实现的方法。


preHandle：预处理回调方法，实现处理器的]]></description><category></category></item><item><title><![CDATA[thymeleaf 知识点整理]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/107012864</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/107012864</guid><author>Steven_LXF</author><pubDate>Tue, 30 Jun 2020 11:16:56 +0800</pubDate><description><![CDATA[thymeleaf 知识点整理
信息输出

信息输出使用&lt;p th:text=""/&gt; 这种格式，使用th:text这个属性时，输出的都是转译后的内容
使用&lt;p th:utext=""/&gt; 这种格式，输出的都是非转译后的内容，原样输出
输出变量时使用${}这种格式，比如${val}，字符串与变量拼接使用+，比如&lt;p th:text="'val的值为：' + ${val}"/&gt;
输出资源配置文件的内容时，使用#{msg}，这种格式，如果msg变量含有参数，可以使用#{msg]]></description><category></category></item><item><title><![CDATA[Spring Boot 整合 Tomcat]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106993449</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106993449</guid><author>Steven_LXF</author><pubDate>Sun, 28 Jun 2020 12:02:03 +0800</pubDate><description><![CDATA[Spring Boot 整合 Tomcat
spring boot 为了简化开发，在打包的时候默认打包成jar文件，可以直接执行，tomcat是集成在jar文件中的。如果想打包成war文件，部署到服务器上的tomcat上的话，需要额外配置。需要注意的是，Spring WebFlux 并不完全依赖Servlet API，因此，Spring WebFlux 不支持打包成war。具体打包成war步骤具体如下：

需要提供SpringBootServletInitializer子类，并且需要覆写它的configur]]></description><category></category></item><item><title><![CDATA[Java枚举类使用要点]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106860526</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106860526</guid><author>Steven_LXF</author><pubDate>Mon, 22 Jun 2020 08:59:09 +0800</pubDate><description><![CDATA[Java枚举类
Java中的枚举类型定义使用enum关键字，定义时，系统默认继承Enum抽象类。先来看一下枚举类的使用。
enum Sex {
    // 枚举必须要在第一行
    MAIL("男"), FEMAIL("女");

    private String sex;
    Sex(String sex) {
        this.sex = sex;
    }
    public String toString() {
        return this.sex;
    }
]]></description><category></category></item><item><title><![CDATA[Spring Boot 错误页配置]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106837653</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106837653</guid><author>Steven_LXF</author><pubDate>Thu, 18 Jun 2020 16:45:45 +0800</pubDate><description><![CDATA[Spring Boot 错误页配置
静态错误页

创建src\main\resources\static\error错误页文件夹，里面创建静态HTML文件，文件的名字用确切的错误状态码，比如404.html
如果你想去映射4xx这一类错误的话，只需要改一下名字即可，比如：4xx.html

模板错误页

创建src\main\resources\templates\error错误页文件夹，文件的命名方式与静态错误页一致。

更复杂的配置

自定义错误页


...]]></description><category></category></item><item><title><![CDATA[SpringBoot 国际化配置]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106606351</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106606351</guid><author>Steven_LXF</author><pubDate>Sun, 07 Jun 2020 20:04:49 +0800</pubDate><description><![CDATA[SpringBoot 国际化配置
首先设置properties文件
配置两个文件
创建 i18n 文件夹，创建Messages.properties，Other.properties 两个文件
# src\main\resources\i18n\Messages.properties
welcome.msg=欢迎消息
# {0} 这是占位符，用来变量的替换
welcome.touser=欢迎{0}用户

# src\main\resources\i18n\Other.properties
other.msg]]></description><category></category></item><item><title><![CDATA[Spring 常用注解解惑]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106606189</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106606189</guid><author>Steven_LXF</author><pubDate>Sun, 07 Jun 2020 19:47:58 +0800</pubDate><description><![CDATA[Spring 常用注解
@Value 注解
为属性注入值

注入普通字符 @Value("common string")
注入配置文件 @Value("${prop.val}") ， prop.val 是 application.properties文件中配置的


]]></description><category></category></item><item><title><![CDATA[SpringBoot 配置笔记]]></title><link>https://blog.youkuaiyun.com/Steven_LXF/article/details/106605307</link><guid>https://blog.youkuaiyun.com/Steven_LXF/article/details/106605307</guid><author>Steven_LXF</author><pubDate>Sun, 07 Jun 2020 19:38:14 +0800</pubDate><description><![CDATA[SpringBoot 配置笔记
配置文件
SpringBoot默认支持两种格式的配置文件，分别为application.properties 和 application.yml 。对于配置文件，SpringBoot采取的方式是，当application.properties 和 application.yml 都可以使用，当同时存在的时候会把配置的属性进行合并，有冲突时application.properties 的优先级最高。
可配置的变量

spring spring框架的一些配置
server 服务器]]></description><category></category></item></channel></rss>