<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[博客模板]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/i6725545</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; i6725545]]></copyright><item><title><![CDATA[分布式事务seata1.4.2客户端无法启动原因解决]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/124668142</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/124668142</guid><author>i6725545</author><pubDate>Mon, 09 May 2022 16:11:26 +0800</pubDate><description><![CDATA[客户端启动报BeanCreationException: Error creating bean with name ‘orderDAO’: Post-processing of FactoryBean’s singleton object failed;
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderController': Unsatisfied ]]></description><category></category></item><item><title><![CDATA[springboot通过注解实现脱敏【未使用过过滤器形式】]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/123002121</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/123002121</guid><author>i6725545</author><pubDate>Fri, 18 Feb 2022 14:06:32 +0800</pubDate><description><![CDATA[0、原理
通过创建bean，实现自定义的json转换Jackson2ObjectMapperBuilder
通过此对象去serializers转换，内部通过继承StdSerializer泛化接口，实现定制的序列化操作
1、定义注解
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface DesensitizedIdCard {

}

2、定义脱敏序列化
import static java.uti]]></description><category></category></item><item><title><![CDATA[springboot maven proguard打包后报PersistenceException: Unable to resolve persistence unit root URL解决办法]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/113678135</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/113678135</guid><author>i6725545</author><pubDate>Fri, 05 Feb 2021 09:42:43 +0800</pubDate><description><![CDATA[打包后报PersistenceException: Unable to resolve persistence unit root URL，无法进行启动。暂时未找到原因。

maven pom如下

&lt;build&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
      &lt;artifactId&gt;maven-surefire-plug]]></description><category></category></item><item><title><![CDATA[vue 路由模式hash与history区别]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/107468021</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/107468021</guid><author>i6725545</author><pubDate>Mon, 20 Jul 2020 17:12:22 +0800</pubDate><description><![CDATA[vue默认hash模式
带/#/看着难看

history模式
url必须一致才能访问，如果不一致要访问，则需要使用nginx做映射

]]></description><category></category></item><item><title><![CDATA[在OAuth 2中模仿DefaultTokenServices写一个新的tokenServices来提供个性化服务]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/105977217</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/105977217</guid><author>i6725545</author><pubDate>Thu, 07 May 2020 17:25:59 +0800</pubDate><description><![CDATA[/*
 * Copyright 2008 Web Cohesion
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of th...]]></description><category></category></item><item><title><![CDATA[CSRF 跨网站请求伪造攻击使用nginx处理方式]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/104984712</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/104984712</guid><author>i6725545</author><pubDate>Fri, 20 Mar 2020 10:46:10 +0800</pubDate><description><![CDATA[CSRF 跨网站请求伪造攻击，参考
https://blog.youkuaiyun.com/futureXgm/article/details/83033735
使用nginx处理，原理就是获取referer如果不是当前请求的地址就拒绝
返回400的http状态码
location /xxx{
if ( $http_referer = ‘~http://localhost/xxx/’ ) {
return 4...]]></description><category></category></item><item><title><![CDATA[poi word设置字体背景颜色（也叫底纹）]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/103918731</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/103918731</guid><author>i6725545</author><pubDate>Fri, 10 Jan 2020 09:19:47 +0800</pubDate><description><![CDATA[XWPFRun run = getRun(para, 13, "微软雅黑", null);//"EEAD0E"
CTRPr pRpr = run.getCTR().getRPr();
if(pRpr == null){
         pRpr = run.getCTR().addNewRPr();  
}
CTShd shd = pRpr.isSetShd() ? pRpr.getShd() ...]]></description><category></category></item><item><title><![CDATA[DataSource、jdbcTemplate、jpa的entityManager调用存储过程]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/103710721</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/103710721</guid><author>i6725545</author><pubDate>Thu, 26 Dec 2019 10:36:55 +0800</pubDate><description><![CDATA[1、DataSource
@Autowired
	@Qualifier("DefaultDataSource")
	private DataSource dataSource;

/**
	 * 身份证转换18-15
	 * 
	 * @param str
	 * @return
	 * @throws ViException
	 */
	private String trCard_18_15(f...]]></description><category></category></item><item><title><![CDATA[hashmap扩容resize]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/102495835</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/102495835</guid><author>i6725545</author><pubDate>Fri, 11 Oct 2019 10:12:17 +0800</pubDate><description><![CDATA[//hashmap扩容resize
final Node&lt;K,V&gt;[] resize() {
		//获取老的tab,容量，阈值
        Node&lt;K,V&gt;[] oldTab = table;
        int oldCap = (oldTab == null) ? 0 : oldTab.length;
        int oldThr = thresho...]]></description><category></category></item><item><title><![CDATA[restTemplate的exchange方法get请求报400 Bad request【restTemplate Bug】的解决办法]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/100137760</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/100137760</guid><author>i6725545</author><pubDate>Thu, 29 Aug 2019 14:45:43 +0800</pubDate><description><![CDATA[填坑记录

如下代码，url=http://www.baidu.com时请求报400，但是url使用http://www.baidu.com?type=1时请求正常，只要带?了的参数均可以。

HttpHeaders requestHeaders = new HttpHeaders();
        requestHeaders.add("Authorization", authorizati...]]></description><category></category></item><item><title><![CDATA[pcre使用--nodeps强行卸载后无法使用各种命令的解决办法]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/97233270</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/97233270</guid><author>i6725545</author><pubDate>Thu, 25 Jul 2019 09:14:13 +0800</pubDate><description><![CDATA[报错信息
checking how to run the C preprocessor… grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决办法
在其他相同的服务器寻找
1、find / -name libpcre...]]></description><category></category></item><item><title><![CDATA[shpringboot2安全验证shiro+redis+md5（自定义单向加密方式）]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/96101907</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/96101907</guid><author>i6725545</author><pubDate>Tue, 16 Jul 2019 09:58:44 +0800</pubDate><description><![CDATA[shiro Apacher开源的java安全框架，提供了鉴权、认证、加密、会话管理等功能，相对于security，shiro简单很多。
MD5配置
shiro三个最重要的组件
Subject 主题，任何与当前应用交互的东西，所有subject均绑定securityManager，subject相当于门面，实际处理仍是securityManager。
SecurityManager 安全的核心，与后...]]></description><category></category></item><item><title><![CDATA[springAOP切面获取入参和出参]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/94397579</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/94397579</guid><author>i6725545</author><pubDate>Mon, 01 Jul 2019 16:51:29 +0800</pubDate><description><![CDATA[老版及参考
https://blog.youkuaiyun.com/weixin_33859504/article/details/86997374
新版****
package core.interceptor;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import neusoft.kqtrain.core.c...]]></description><category></category></item><item><title><![CDATA[springboot2读取jar包下资源文件]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/91395116</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/91395116</guid><author>i6725545</author><pubDate>Mon, 10 Jun 2019 19:40:50 +0800</pubDate><description><![CDATA[参考
https://www.jianshu.com/p/b512adecab47
第一种方式在不打包时正常，打包后无法获取
  public static void exportTemplate(TemplateEnum type, HttpServletResponse response) {
        try {
            File file = ResourceUtil...]]></description><category></category></item><item><title><![CDATA[ElasticSearch和solr的差别]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/90670310</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/90670310</guid><author>i6725545</author><pubDate>Wed, 29 May 2019 14:25:29 +0800</pubDate><description><![CDATA[转自https://www.cnblogs.com/blueskyli/p/8326229.html
ElasticSearch vs Solr 总结
（1）es基本是开箱即用，非常简单。Solr安装略微复杂一丢丢，可关注（solr6.6教程-基础环境搭建(一)）
　　（2）Solr 利用 Zookeeper 进行分布式管理，而 Elasticsearch 自身带有分布式协调管理功能。
　　（3）...]]></description><category></category></item><item><title><![CDATA[springboot2 前后台分离，token放入header进行验证的坑]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/90292686</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/90292686</guid><author>i6725545</author><pubDate>Fri, 17 May 2019 14:33:47 +0800</pubDate><description><![CDATA[springboot2 使用前后台分离，token放入header进行验证的配置
注意 registry.addInterceptor(new MyInterceptorConfig ()); 不能添加，否则header下token有时无法获取到
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {...]]></description><category></category></item><item><title><![CDATA[mysql单表索引的重要性]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/90024676</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/90024676</guid><author>i6725545</author><pubDate>Thu, 09 May 2019 11:13:59 +0800</pubDate><description><![CDATA[今日项目中新增功能，导致此功能查询在10s以上。
最终查到for循环了70次，每次查询单表在200ms-300ms，导致整体慢。
最终将条件加入了索引，每次查询单表在20ms左右，提升了整体速度。
原因：
测试环境数据少，未发现此问题。正式库下此表10w+数据。
因为mysql慢查询设置的是单个查询在几秒，根本捕捉不到此情况。
所以只能通过调用接口的调用时间来分析问题。

...]]></description><category></category></item><item><title><![CDATA['vue-cli-service' 不是内部或外部命令，也不是可运行的程序]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/89953673</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/89953673</guid><author>i6725545</author><pubDate>Wed, 08 May 2019 15:30:16 +0800</pubDate><description><![CDATA[‘vue-cli-service’ 不是内部或外部命令，也不是可运行的程序
或批处理文件。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! kqTrainH5@4.1.0 dev: vue-cli-service serve
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the kqTra...]]></description><category></category></item><item><title><![CDATA[java反射实现dto与entity互转，解决联合主键或嵌套entity方法]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/89668987</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/89668987</guid><author>i6725545</author><pubDate>Mon, 29 Apr 2019 09:59:39 +0800</pubDate><description><![CDATA[public class TransformUtils {

   /**
    * 将dto和entity之间的属性互相转换
    */
   public static Object populate(Object src, Object target) {
       Method[] srcMethods = src.getClass().getMethods();
       M...]]></description><category></category></item><item><title><![CDATA[nginx负载均衡使用redis3.2做tomcat8和jdk7的session共享]]></title><link>https://blog.youkuaiyun.com/i6725545/article/details/89451448</link><guid>https://blog.youkuaiyun.com/i6725545/article/details/89451448</guid><author>i6725545</author><pubDate>Mon, 22 Apr 2019 14:39:47 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/qq584852076/article/details/46502185

下载代码
https://github.com/jcoleman/tomcat-redis-session-manager
本地创建maven工程（将下载代码复制进去）或直接下载我的工程
https://gitee.com/wangyanxu/tomcat8redisSes...]]></description><category></category></item></channel></rss>