<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Agger的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_36086968</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_36086968]]></copyright><item><title><![CDATA[枚举单例的实现]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/104941098</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/104941098</guid><author>github_36086968</author><pubDate>Wed, 18 Mar 2020 14:50:56 +0800</pubDate><description><![CDATA[枚举单例的实现
单例是什么我在这里不再详细说了，其他的饿汉模式单例、懒汉模式单例、双重加锁这么的在此都不讨论。我参考了网上其他人写的枚举单例，都差不多，没什么实用的参考价值，这里只给出我自己实现的枚举的单例写法，并且能够防止反射，希望大家一起讨论。

枚举单例

package com.example.demo.enums;

import com.example.demo.service.Sin...]]></description><category></category></item><item><title><![CDATA[Java8 Optional的使用]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/104903503</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/104903503</guid><author>github_36086968</author><pubDate>Mon, 16 Mar 2020 17:17:45 +0800</pubDate><description><![CDATA[Optional简介
Optional类是java8新增的类，主要是用来解决空指针异常（NullPointerException）。Optional类在函数式编程规范中具有重要意义。Optional方法可以避免频繁的判空操作。

例如：

public void function(User u){
    if(u!=null){
        Adder adder = u.getAdder(...]]></description><category></category></item><item><title><![CDATA[SpringBoot集成org.apache.Dubbo]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/104027412</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/104027412</guid><author>github_36086968</author><pubDate>Sat, 18 Jan 2020 09:49:56 +0800</pubDate><description><![CDATA[SpringBoot集成org.apache.Dubbo
一、前言
Dubbo作为一款优秀的RPC框架，在国内有着众多的使用者，自从2018年2月，Dubbo被阿里捐献给Apache基金会以后，Dubbo似乎以全新的名称 Apache Dubbo焕发了新的生命力。虽然有着同样优秀和优势的Spring Clould框架，但是Dubbo能焕发新生也是一件好事，期待着Dubbo能够完善机制，更新迭代出的...]]></description><category></category></item><item><title><![CDATA[SpringBoot自定义注解使用AOP实现请求参数解密以及响应数据加密]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/103424945</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/103424945</guid><author>github_36086968</author><pubDate>Fri, 06 Dec 2019 16:07:43 +0800</pubDate><description><![CDATA[SpringBoot自定义注解使用AOP实现请求参数解密以及响应数据加密
一、前言
本篇文章将依托与SpringBoot平台，自定义注解用来标识接口请求是否实现加密解密。使用AOP切面来具体操作解密加密，实现对源代码的低耦合，不在原基础上做很大的改动。

本篇文章的所有示例，都上传到我的github中，欢迎大家拉取测试，欢迎star github

实现要求：

自定义一个注解@Secret，用来...]]></description><category></category></item><item><title><![CDATA[JDK1.8函数式接口Function、Consumer、Predicate、Supplier]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/103278760</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/103278760</guid><author>github_36086968</author><pubDate>Wed, 27 Nov 2019 16:56:27 +0800</pubDate><description><![CDATA[JDK1.8函数式接口Function、Consumer、Predicate、Supplier
1. 函数式接口定义

函数式接口（Functional Interface）：有且仅有一个抽象方法的接口，但可以有多个非抽象方法的接口

函数式接口，即适用于函数式编程场景的接口，可以被隐式转换为Lambda表达式来表示接口的一个实现；jdk8以前是使用匿名类实现的。

示例：jdk1.8 使用注解@...]]></description><category></category></item><item><title><![CDATA[SpringBoot使用Swagger2实现接口API文档]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/103265848</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/103265848</guid><author>github_36086968</author><pubDate>Tue, 26 Nov 2019 21:49:35 +0800</pubDate><description><![CDATA[SpringBoot使用Swagger2实现接口API文档
一、前言
前后端分离的项目开发中，后台写好的接口在跟前端对接测试的时候，往往很麻烦，需要自己编写接口文档，接口参数，响应数据等等。当接口更改后，又要手动去更改接口文档，久而久之就会忘记或者搞得接口和文档不一致。Swagger的诞生就是为了解决这个痛点，本文基于SpringBoot搭建Swagger2，更多的Swagger的版本区别啊，原理...]]></description><category></category></item><item><title><![CDATA[SpringBoot使用@Validated校验请求参数]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/103115128</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/103115128</guid><author>github_36086968</author><pubDate>Sun, 17 Nov 2019 23:03:29 +0800</pubDate><description><![CDATA[SpringBoot使用@Validated校验请求参数
一、前言
在前端传递参数给后台接口的时候，后端会对传递的参数做一个基础校验，以前是手动写if一个个验证，效率极其低，而且还做了很多重复工作。本例没有太对基础和原理讲解，直接上代码，就是要简单粗暴，大家先用起来再说。项目源代码请访问github获取。
github
二、使用步骤
Hibernate Validator在JSR 303校验框架中...]]></description><category></category></item><item><title><![CDATA[微信小程序小技巧分享]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/102562042</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/102562042</guid><author>github_36086968</author><pubDate>Tue, 15 Oct 2019 10:23:22 +0800</pubDate><description><![CDATA[微信小程序小技巧分享
微信小程序相关编程技巧分享，内容来源是经验总结以及论坛啊，博客上收集，后续还会分享更多技巧，欢迎大家讨论。
1. 滚动加载数据方式
在滚动分页加载数据的时候，通常做法是定义一个数据arr，下滑触发加载更改请求接口获取分页数据arr2，然后将arr2合并到arr，重新setData到arr。这样的操作方式是每次都全量覆盖，当数据量过大时，会造成渲染加载卡顿问题。arr数组结构为...]]></description><category></category></item><item><title><![CDATA[XML定义，语法，解析学习]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/93044993</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/93044993</guid><author>github_36086968</author><pubDate>Thu, 20 Jun 2019 15:29:25 +0800</pubDate><description><![CDATA[本文档根据黑马视频教程总结学习编写
GitHub示例代码：
https://github.com/AggerChen/XMLTest
XML概念：
XML 可扩展标记语言（Extensible Markup Language）,标签都是自定义的。开始创造出来是用来替代html的语言，但是后来主要用于存储数据，替代properties。例如配置文件，网络传输等。
XML与HTML区别:

xml标签...]]></description><category></category></item><item><title><![CDATA[IDEA中Tomcat在控制台乱码问题以及IDEA编码设置]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/90756646</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/90756646</guid><author>github_36086968</author><pubDate>Mon, 03 Jun 2019 18:15:10 +0800</pubDate><description><![CDATA[【转】IDEA中Tomcat在控制台乱码问题以及IDEA编码设置UTF-8
在idea中经常遇到jsp的乱码问题，原因是编码不是UTF-8的问题，这次来彻底解决idea的编码问题
首先设置idea编辑器的编码：
File-Setting设置如下

然后配置tomcat的编码问题：
Run/DeBug Configurations
在VM options填写-Dfile.encoding=UTF-8...]]></description><category></category></item><item><title><![CDATA[Echarts结合百度地图绘制散点图，toolpit显示位置错位偏移问题解决]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/79003601</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/79003601</guid><author>github_36086968</author><pubDate>Mon, 08 Jan 2018 15:38:06 +0800</pubDate><description><![CDATA[Echarts结合百度地图绘制散点图，toolpit显示位置错位偏移问题解决

在使用echarts结合百度地图绘制散点图的时候，会配置toolpit参数来显示鼠标知识散点的基本信息。当地图在不拖动的情况下提示框显示位置是正确的。但是当拖动并放大地图后，提示框显示位置就会发生偏移，甚至超出图形区域显示，对用户体验造成影响。如下：





在配置中配置toolpit参数：



tooltip:]]></description><category></category></item><item><title><![CDATA[java生成图片验证码返回base64图片信息]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/78592775</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/78592775</guid><author>github_36086968</author><pubDate>Tue, 21 Nov 2017 15:43:27 +0800</pubDate><description><![CDATA[一般在生成验证码，有两种形式：


前端js生成，并在前端验证通过，提交表单到后台。安全性较低，很容易被识别后端生成返回给前端展示，提交用户验证码到后台验证通过。安全性较前端方式高，因为整个验证过程在后台。
其实验证码也没有绝对的安全，只能说后端的处理方式比前端好一些而已，所以这个示例是利用java后台生成二维码图片，并返回给前端base64格式，展示给用户，后台将二维码真值保存在sess]]></description><category></category></item><item><title><![CDATA[基于Spring+freemark+javax.mail邮件发送工具]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/77718606</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/77718606</guid><author>github_36086968</author><pubDate>Wed, 30 Aug 2017 16:40:50 +0800</pubDate><description><![CDATA[前段时间，有兴趣去研究了一下基于java的邮件发送功能，还颇有趣味，在此做出一个分享。
java提供了一个jar包，javax.mail专门用来做邮件功能，当然Spring也集成了org.springframework.mail包和子包org.springframework.mail.javamail来提供邮件的封装。我这里使用的是SpringMVC环境，所以集成spring工具包来说方便一些。]]></description><category></category></item><item><title><![CDATA[bootstrap File Input 多文件上传插件使用记录（二）删除原文件]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/72830855</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/72830855</guid><author>github_36086968</author><pubDate>Thu, 01 Jun 2017 14:20:07 +0800</pubDate><description><![CDATA[在上一篇文章中，主要介绍了file input插件的初始化和多文件同步上传到服务器的相关配置等。这篇主要介绍file input插件的编辑等。
使用场景：
在后台管理框架中，一条数据中包含不固定的多张图片属性，然后需要同其他数据一起做增删改查。多文件同时新增上一篇已经做过了，需要的请点击打开链接，但是编辑的时候，就需要吧原来上传的图片展示出来，然后可以进行删除和重新上传，，这就是我现在要做的功]]></description><category></category></item><item><title><![CDATA[bootstrap File Input 多文件上传插件使用记录（一）配置及批量同步上传]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/72822041</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/72822041</guid><author>github_36086968</author><pubDate>Wed, 31 May 2017 17:18:41 +0800</pubDate><description><![CDATA[bootstrap file input 多文件上传工具，功能十分强大，也很完善，我也是在接触了这个插件后自己研究使用的，当然也踩了很多的坑，主要是官方API是英文的，可能没兴趣一行一行的读，只能是用到了什么需求然后再去看对应的API说明。所以本文主要是我在使用过程中的解决思路，对此插件的使用也并不完善，请各位谅解。
官方API请撮这里


需求：先来说说我使用此插件的需求及流程
1.在]]></description><category></category></item><item><title><![CDATA[一个简单的Chrome浏览器“清理缓存”插件应用开发]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/70910588</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/70910588</guid><author>github_36086968</author><pubDate>Fri, 28 Apr 2017 14:46:40 +0800</pubDate><description><![CDATA[Chrome浏览器支持用户自定义安装丰富的插件来方便我们的使用，特别是对于一个码农来说，一些丰富的插件能够很方便我们的使用。本人就安装了许多方便的插件。


固然商店里有很多插件让我们去淘，但是如果我们能自己开发一些适用于我们的插件，那就再好不过了啊。。。前段时间调试一个前端页面，需要反复的去清理浏览器的缓存，特别痛苦的每次都需要去打开设置点击清理，很繁琐。正好有这个想法，何不自己开发一个插]]></description><category></category></item><item><title><![CDATA[bootstrap table 多选框分页保留]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/60773900</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/60773900</guid><author>github_36086968</author><pubDate>Tue, 07 Mar 2017 18:09:40 +0800</pubDate><description><![CDATA[在使用bootstrap table的复选框功能的时候，由于采用服务端分页，当在第一页选择了某些数据，然后点击第二页选择一些数据，再次点回第一页，发现原先选择的数据已经清空了，原来的多选框并不支持翻页保留多选数据。
解决思路：在分页的时候，吧原先选择的数据用一个全局变量保存，当再次翻页回来时，判断当前页数据是否存在于保存的数据数组中，存在则状态为选择。当然当取消选择的时候也要去删除数组中相应的数]]></description><category></category></item><item><title><![CDATA[阿里云OSS存储基于JAVA基本使用（一）]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/53113274</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/53113274</guid><author>github_36086968</author><pubDate>Thu, 10 Nov 2016 10:35:02 +0800</pubDate><description><![CDATA[前段时间公司让研究阿里云OSS，说计划会用起来。OSS就是一个阿里提供的在线存储服务，其实原先公司自己搭建的文件服务器也就能用，不过可能是为了以后的业务扩大着想，让提前研究使用了。OSS的基本概念他官网上有很多资料，我这里也就不再说了。研究了一整子，整理了一些方法，所以这里记录出来。本人是小白一枚，一下的知识竟可能的浅显，但也是我自己研究使用的思路，开始也没有找到一篇全面的使用手册，因为官方的SD]]></description><category></category></item><item><title><![CDATA[sql语句模糊查询单引号问题，及jquery方法扩展,struts2拦截器]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/52539692</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/52539692</guid><author>github_36086968</author><pubDate>Wed, 14 Sep 2016 16:52:07 +0800</pubDate><description><![CDATA[在sql语句中使用单引号模糊查询可能报错，例如：查询的单引号与%%两端的单引号匹配了形成断句，从而导致查询失败。所以要将单引号转义，变成两个单引号 '' 就行了。
SELECT * from ft_providers WHERE last_name like '%'%';          //报错

SELECT * from ft_providers WHERE last_name like]]></description><category></category></item><item><title><![CDATA[SQL Server中分页查询和排序问题]]></title><link>https://blog.youkuaiyun.com/github_36086968/article/details/52473728</link><guid>https://blog.youkuaiyun.com/github_36086968/article/details/52473728</guid><author>github_36086968</author><pubDate>Thu, 08 Sep 2016 17:43:28 +0800</pubDate><description><![CDATA[最近项目中用到了SQL Server2014数据库，因为是采用MyBatis框架，所以能够编写sql语句，发现代码里面同事对于分页查询采用了两种方式，可能是不同的人编写的。第一种是rowNumber的方式，第二种是采用的SQL Server语法 OFFSET/FETCH，开始我也没做区别，就采用了比较简单的后一种，原来的方式也没有去动它。后来出问题了，测试说分页有重复数据出现，这才倒过来查找，发现都]]></description><category></category></item></channel></rss>