<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a540010的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a540010</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a540010]]></copyright><item><title><![CDATA[undertow的PUT参数获取问题]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156973</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156973</guid><author>a540010</author><pubDate>Fri, 04 Jan 2019 20:48:00 +0800</pubDate><description><![CDATA[今天使用undertow遇到一个问题，记录一下：
首先,maven配置如下：
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-web&lt;/art...]]></description><category></category></item><item><title><![CDATA[工作记录：maven远程下载的问题]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156958</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156958</guid><author>a540010</author><pubDate>Mon, 09 Jul 2018 16:18:00 +0800</pubDate><description><![CDATA[最近使用maven的时候遇到一个问题，每次构建都从https://repository.apache.org/snapshots仓库下载一些maven-metadata.xml，但是公司的环境又连不上这个地址，导致每次构建都在等待下载超时，非常的慢，痛苦不堪。
找了一下，settings.xml和pom.xml中都没有配置https://repository.apache.org/sna...]]></description><category></category></item><item><title><![CDATA[默认组件加载类]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156969</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156969</guid><author>a540010</author><pubDate>Mon, 09 Apr 2018 23:14:00 +0800</pubDate><description><![CDATA[引子
SpringBoot的根基在于自动配置和条件配置，而在实现自动配置的时候，使用了一个SpringFactoriesLoader的工具类，用于加载类路径下"META-INF/spring.factories"文件中的配置，该配置是一个properties文件，键为接口名/类名/注解类名等（下文统称为接口），值为一个或多个实现类。这个工具类实际上并不是Spring Boot的，而是sp...]]></description><category></category></item><item><title><![CDATA[加密工具类]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156956</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156956</guid><author>a540010</author><pubDate>Mon, 09 Apr 2018 12:44:00 +0800</pubDate><description><![CDATA[昨天的笔记中，包含了CryptoUtils和RSAUtils，今天顺便贴一下两个对称加密的工具类：
DESUtils
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.secu...]]></description><category></category></item><item><title><![CDATA[客户端安全传输密码至服务端的实现改进]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156966</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156966</guid><author>a540010</author><pubDate>Mon, 09 Apr 2018 00:34:00 +0800</pubDate><description><![CDATA[两年前在做Java EE开发平台时，因为用户登录相关的模块是委托给另一位同事完成的，所以虽然知道大体概念，但是对客户端怎么安全传输密码到服务端的具体细节并不甚了解。然而这次在做4A系统（认证、授权、监控、审计）时，无论怎样都绕不过这一块内容了，于是在仔细研究了一下之前的方案，并参考网上的一些资料后，做了一些改进，特此记录一下。
总体方案

服务端生成RSA密钥对，并将公钥返回给客户端
客...]]></description><category></category></item><item><title><![CDATA[开发Angular库的简单指导（译）]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156953</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156953</guid><author>a540010</author><pubDate>Mon, 24 Apr 2017 20:45:00 +0800</pubDate><description><![CDATA[1. 最近工作上用到Angular，需要查阅一些英文资料，虽然英文非常烂，但是种种原因又不得不硬着头皮上，只是每次看英文都很费力，因此决定将一些比较重要的特别是需要反复阅读的资料翻译一下，以节约再次阅读的时间。
2. 另外一方面，如果只是看英文，不做笔记和记录，通常会很浮躁，很多知识点都是一知半解，因此倒不如翻译一下，以加深自己的理解（虽说是翻译，但实际上只是按照自己的理解，复述一下，...]]></description><category></category></item><item><title><![CDATA[Windows中搭建Redis集群]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156962</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156962</guid><author>a540010</author><pubDate>Sat, 19 Nov 2016 20:00:00 +0800</pubDate><description><![CDATA[从 http://rubyinstaller.org/downloads/ 下载Ruby2.2.5（x64）并安装，安装时勾选添加至路径变量中
命令行中执行gem source -a http://gems.ruby-china.org
安装ruby的redis支持环境：gem install redis
从 https://github.com/MSOpenTech/redis/re...]]></description><category></category></item><item><title><![CDATA[Mybatis中SqlMapper配置的扩展与应用(3)]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156951</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156951</guid><author>a540010</author><pubDate>Sat, 19 Nov 2016 19:28:00 +0800</pubDate><description><![CDATA[隔了两周，首先回顾一下，在Mybatis中的SqlMapper配置文件中引入的几个扩展机制：

1.引入SQL配置函数，简化配置、屏蔽DB底层差异性
2.引入自定义命名空间，允许自定义语句级元素、脚本级元素
3.引入表达式配置，扩充SqlMapper配置的表达能力

前面两条已经举过例子，现在来看看怎么使用表达式配置。说到表达式语言，最为富丽堂皇的自然就是OGNL，但这也正是Mybati...]]></description><category></category></item><item><title><![CDATA[Mybatis中SqlMapper配置的扩展与应用(2)]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156950</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156950</guid><author>a540010</author><pubDate>Tue, 08 Nov 2016 10:19:00 +0800</pubDate><description><![CDATA[三、子表删除兼容问题
这个问题，使用SQL配置函数不太好处理，而且就算使用SQL配置函数，也不够直观，有点自动生成SQL的意味，太Hibernate了（不过要是可以兼收Hibernate和Mybatis两家之长，那也是一个不错的主意），下面我们使用自定义命名空间的方式来解决。
1、编写sqlmapper-extend命名空间的XSD文件，引进新的&lt;db&gt;元素


&...]]></description><category></category></item><item><title><![CDATA[Mybatis中SqlMapper配置的扩展与应用(1)]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156959</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156959</guid><author>a540010</author><pubDate>Tue, 08 Nov 2016 06:56:00 +0800</pubDate><description><![CDATA[奋斗了好几个晚上调试程序，写了好几篇博客，终于建立起了Mybatis配置的扩展机制。虽然扩展机制是重要的，然而如果没有真正实用的扩展功能，那也至少是不那么鼓舞人心的，这篇博客就来举几个扩展的例子。
这次研读源码的起因是Oracle和MySQL数据库的兼容性，比如在Oracle中使用双竖线作为连接符，而MySQL中使用CONCAT函数；比如Oracle中可以使用DECODE函数，而MyS...]]></description><category></category></item><item><title><![CDATA[优化与扩展Mybatis的SqlMapper解析]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156946</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156946</guid><author>a540010</author><pubDate>Mon, 07 Nov 2016 22:30:00 +0800</pubDate><description><![CDATA[接上一篇博文，这一篇来讲述怎么实现SchemaSqlMapperParserDelegate——解析SqlMapper配置文件。
要想实现SqlMapper文件的解析，还需要仔细分析一下mybatis的源码，我画了一个图来协助理解，也可以帮助形成一个整体概念：

当然，这幅图不止是原生的解析，也包括了XSD模式下的解析，下面对着这幅图来说明一下。
一、Mybatis全局配置
M...]]></description><category></category></item><item><title><![CDATA[使用XSD校验Mybatis的SqlMapper配置文件(2)]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156957</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156957</guid><author>a540010</author><pubDate>Sun, 06 Nov 2016 22:55:00 +0800</pubDate><description><![CDATA[编写好XSD文件，然后来看怎么使用XSD文件校验，并解析SqlMapper文件，也就是实现doParseSqlMapperResourceWithSchema()方法。
为了实现这个功能，有两个基本要求：
(1)兼容性：需要兼容mybatis的原生配置，兼容有两种层级，一种是使用DTD校验，这个前面已经说了，走原来的流程，兼容性没有问题；另一种就是走XSD校验，但也需要兼容mybat...]]></description><category></category></item><item><title><![CDATA[使用XSD校验Mybatis的SqlMapper配置文件(1)]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156954</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156954</guid><author>a540010</author><pubDate>Sun, 06 Nov 2016 21:34:00 +0800</pubDate><description><![CDATA[这篇文章以前面对SqlSessionFactoryBean的重构为基础，先简单回顾一下做了哪些操作：

新建SqlSessionFactoryBean，初始代码和mybatis-spring相同；
重构buildSqlSessionFactory()方法，将众多的if语句抽取为一组小方法，预留自定义配置的方法，同时添加常用属性的getter方法；
提取组件工厂接口，并提供组件创建...]]></description><category></category></item><item><title><![CDATA[重构Mybatis与Spring集成的SqlSessionFactoryBean（2）]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156952</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156952</guid><author>a540010</author><pubDate>Wed, 02 Nov 2016 16:45:00 +0800</pubDate><description><![CDATA[三、代码重构
1、先使用Eclipse把buildSqlSessionFactory()方法中众多的if换成小函数

protected SqlSessionFactory buildSqlSessionFactory() throws IOException {

        Configuration configuration;

        XMLConfi...]]></description><category></category></item><item><title><![CDATA[重构Mybatis与Spring集成的SqlSessionFactoryBean（1）]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156944</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156944</guid><author>a540010</author><pubDate>Wed, 02 Nov 2016 12:54:00 +0800</pubDate><description><![CDATA[一般来说，修改框架的源代码是极其有风险的，除非万不得已，否则不要去修改。但是今天却小心翼翼的重构了Mybatis官方提供的与Spring集成的SqlSessionFactoryBean类，一来是抱着试错的心态，二来也的确是有现实需要。
先说明两点：

通常来讲，重构是指不改变功能的情况下优化代码，但本文所说的重构也包括了添加功能
本文使用的主要jar包(版本)：spring-*-...]]></description><category></category></item><item><title><![CDATA[Mybatis的缺陷]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156949</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156949</guid><author>a540010</author><pubDate>Sat, 29 Oct 2016 14:08:00 +0800</pubDate><description><![CDATA[Mybatis是业界非常流行的持久层框架，轻量级、易用，在金融IT领域完全是领军地位，比Hibernate更受欢迎，优势非常多，也是非常值得我们学习的。但Mybatis并不尽善尽美，其自身的设计、编码也还有许多不足，甚至是缺陷，这篇文章来简要讨论一下这些缺陷：
1.Mybatis使用DTD作为XML配置文件的校验文件，但是很明显，DTD差不多是快被淘汰的技术了，功能非常有限，扩展性非常...]]></description><category></category></item><item><title><![CDATA[迷失书海]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156942</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156942</guid><author>a540010</author><pubDate>Fri, 28 Oct 2016 00:10:00 +0800</pubDate><description><![CDATA[这段时间没有更新博客，有点虚度了，罪恶啊......。不过，经历了人生一大喜事，宝贝儿子如约来和我们见面了.......
虽然没有更新博客，但总还是显得忙忙碌碌的——虽然自己都不知道在忙碌什么，我真的好羡慕那些在书海里面遨游的人——而我只能迷失在书的海洋里。
经典要阅读，于是《操作系统》《算法导论》《垃圾回收算法手册》《精通正则表达式》
基础要扎实，于是《实战Java虚拟机》《深入...]]></description><category></category></item><item><title><![CDATA[Java EE开发平台随手记6——Mybatis扩展4]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156940</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156940</guid><author>a540010</author><pubDate>Sun, 05 Jun 2016 22:25:00 +0800</pubDate><description><![CDATA[　　这篇博客中来说一下对Mybatis动态代理接口方式的扩展，对于Mybatis动态代理接口不熟悉的朋友，可以参考前一篇博客，或者研读Mybatis源码。
　　扩展11：动态代理接口扩展
　　我们知道，真正在Mybatis动态代理接口方式背后起作用的是SqlSession接口，类似地，我们的动态代理接口扩展则是基于IDaoTemplate接口，同样的，也需要解决相同的三个基本问题：...]]></description><category></category></item><item><title><![CDATA[Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156938</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156938</guid><author>a540010</author><pubDate>Sat, 04 Jun 2016 14:56:00 +0800</pubDate><description><![CDATA[　　为了说明后续的Mybatis扩展，插播一篇广告，先来简要说明一下Mybatis的一种原生用法，不过先声明：下面说的只是Mybatis的其中一种用法，如需要更深入了解Mybatis，请参考官方文档，或者研读源码。　　
　　我们知道，使用Mybatis的方式有很多种，从是否集成上分，可以单独使用，也可以和Spring集成使用；从使用方式上分，可以编写静态工具类，在静态工具中调用SqlS...]]></description><category></category></item><item><title><![CDATA[Java EE开发平台随手记4——Mybatis扩展3]]></title><link>https://blog.youkuaiyun.com/a540010/article/details/101156947</link><guid>https://blog.youkuaiyun.com/a540010/article/details/101156947</guid><author>a540010</author><pubDate>Wed, 01 Jun 2016 23:30:00 +0800</pubDate><description><![CDATA[　　接着昨天的Mybatis扩展——IDaoTemplate接口。
　　扩展9：批量执行
1、明确什么是批量执行
　　首先说明一下，这里的批量执行不是利用&lt;foreach&gt;标签生成一长串的sql字符串——这并不是真正的JDBC批量执行，我这里所说的批量是指在内核调用JDBC的addBatch、executeBatch等方法来实现的。类似下面的示例：


 1 pr...]]></description><category></category></item></channel></rss>