<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Java碎碎念]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/benpao412</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; benpao412]]></copyright><item><title><![CDATA[FastJson序列化时候出现了$ref？还不赶紧学习下]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/104006265</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/104006265</guid><author>benpao412</author><pubDate>Thu, 16 Jan 2020 15:52:20 +0800</pubDate><description><![CDATA[最近在使用fastjson时候遇到一个问题，后台的数据转化为json字符串后发送到前端时候出现了$ref字样的东西，后来明白了这是引用，下面详细介绍下。



一、一个简单的例子
先来上一段代码，运行后打印的结果可能出乎意料，代码如下：
@org.junit.Test
public void testFastJson() {
    Map&lt;String, Object&gt; dataM...]]></description><category></category></item><item><title><![CDATA[fastjson自定义序列化竟然有这么多姿势？]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103347178</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103347178</guid><author>benpao412</author><pubDate>Mon, 02 Dec 2019 13:38:34 +0800</pubDate><description><![CDATA[本文介绍下fastjson自定义序列化的各种操作。



一、什么是fastjson？
fastjson是阿里巴巴的开源JSON解析库，它可以解析JSON格式的字符串，支持将Java Bean序列化为JSON字符串，也可以从JSON字符串反序列化到JavaBean。
二、如何使用
添加如下maven依赖即可：
&lt;dependency&gt;
    &lt;groupId&gt;com.a...]]></description><category></category></item><item><title><![CDATA[SpringBoot2.0整合集成WebSocket，实现后端数据实时推送！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103249079</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103249079</guid><author>benpao412</author><pubDate>Mon, 25 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达之前的一个系统为了实现推送使用的是Ajax轮询，这种方式浏览器需要不断的向服务器发出请求，会浪费很多的带宽等资源，所以研究了下WebSocket，本文将详细介绍下。一、什么是WebSocket？ WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议，能更好的节省服务器资源和带宽，并且能够更实时地进行通讯。We...]]></description><category></category></item><item><title><![CDATA[一分钟带你了解下MyBatis的动态SQL！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103171195</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103171195</guid><author>benpao412</author><pubDate>Wed, 20 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达MyBatis的强大特性之一便是它的动态SQL，以前拼接的时候需要注意的空格、列表最后的逗号等，现在都可以不用手动处理了，MyBatis采用功能强大的基于OGNL的表达式来实现，下面主要介绍下。一、if标签 if是最常用标签，经常用在判断语句上，可以实现某些简单的条件选择。基本使用示例如下：&lt;selectid="query...]]></description><category></category></item><item><title><![CDATA[一分钟带你了解下Spring Security！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103154725</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103154725</guid><author>benpao412</author><pubDate>Tue, 19 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、什么是Spring Security？二、Spring Security的主要功能三、快速入门案例1：接口不添加保护案例2：接口添加保护四、自定义认证和授权一、什么是Spring Security？ Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架，它是用于保护基于Spring的应用程序的实际...]]></description><category></category></item><item><title><![CDATA[一分钟带你学会利用mybatis-generator自动生成代码！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103094652</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103094652</guid><author>benpao412</author><pubDate>Fri, 15 Nov 2019 18:20:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、MyBatis Generator简介二、使用方式三、实战一、MyBatis Generator简介 MyBatis Generator是MyBatis官方提供的代码生成器，可以生成xml、dao、entity。官网介绍见：http://mybatis.org/generator/二、使用方式 MyBatis Generat...]]></description><category></category></item><item><title><![CDATA[手把手带你实战下Spring的七种事务传播行为]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103060486</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103060486</guid><author>benpao412</author><pubDate>Wed, 13 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文介绍Spring的七种事务传播行为并通过代码演示下。本文目录 一、什么是事务传播行为？二、事务的7种传播行为三、7种传播行为实战1.PROPAGATION_REQUIRED测试2.PROPAGATION_SUPPORTS测试3.PROPAGATION_MANDATORY测试4.PROPAGATION_REQUIRES_NEW测试5.P...]]></description><category></category></item><item><title><![CDATA[SpringBoot系列-整合Mybatis（注解方式）]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103046886</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103046886</guid><author>benpao412</author><pubDate>Tue, 12 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、常用注解说明二、实战三、测试四、注意事项一、常用注解说明 @Mapper可以给接口自动生成一个实现类，让spring对mapper接口的bean进行管理，并且可以省略去写复杂的xml文件。@Options配置映射语句的属性。例如：@Options(useGeneratedKeys = true, keyColumn = "...]]></description><category></category></item><item><title><![CDATA[SpringBoot系列-整合Mybatis（XML配置方式）]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/103019866</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/103019866</guid><author>benpao412</author><pubDate>Mon, 11 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文介绍下SpringBoot整合Mybatis（XML配置方式）的过程。本文目录 一、什么是 MyBatis？二、整合方式三、实战四、测试一、什么是 MyBatis？ MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBa...]]></description><category></category></item><item><title><![CDATA[只因写了一段爬虫，公司200多人被抓！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102994280</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102994280</guid><author>benpao412</author><pubDate>Sat, 09 Nov 2019 09:25:40 +0800</pubDate><description><![CDATA[“一个程序员写了个爬虫程序，整个公司200多人被端了。”“不可能吧！”刚从朋友听到这个消息的时候，我有点不太相信，做为一名程序员来讲，谁还没有写过几段爬虫呢？只因写爬虫程序就被端有点夸张了吧。朋友说，消息很确认并且已经进入审判阶段了。01.对消息进一步确认朋友认识几个律师朋友，和他们有一些业务来往，得知他们想尝试把业务扩展到程序员这个群体。那段时间我刚好离职也有时间，在朋友的安排下一起聊聊看看有没...]]></description><category></category></item><item><title><![CDATA[Java中打印日志，这4点很重要！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102982803</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102982803</guid><author>benpao412</author><pubDate>Fri, 08 Nov 2019 18:30:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达打印日志，要注意下面4点。本文目录 一、预先判断日志级别二、避免无效日志打印三、区别对待错误日志四、保证记录完整内容一、预先判断日志级别 对DEBUG、INFO级别的日志，必须使用条件输出或者使用占位符的方式打印。该约定综合考虑了程序的运行效率和日志打印需求。先来看一个反例：log.debug("输入参数信息id="+id+",o...]]></description><category></category></item><item><title><![CDATA[SpringBoot系列-日志配置进阶篇]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102952035</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102952035</guid><author>benpao412</author><pubDate>Wed, 06 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、配置文件命名规范二、配置文件简介三、SpringProfile使用一、配置文件命名规范 SpringBoot日志系统有自己的默认配置，覆盖默认配置很简单，只要我们把自己的xml配置文件命名好然后放到resources目录下即可。各个日志系统的命名规范：日志系统配置文件名Logbacklogback-spring.xml, l...]]></description><category></category></item><item><title><![CDATA[SpringBoot系列-日志配置基础篇]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102927781</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102927781</guid><author>benpao412</author><pubDate>Tue, 05 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达日志对于排查问题至关重要，所以本文介绍下SpringBoot中日志的简单配置。本文目录 一、Logback介绍二：日志级别三、配置日志方式application.properties配置一、Logback介绍 SpringBoot中默认集成了Logback,Logback是java的日志开源组件，是log4j创始人写的，性能比log4j要...]]></description><category></category></item><item><title><![CDATA[SpringBoot集成JWT实现权限认证]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102908711</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102908711</guid><author>benpao412</author><pubDate>Mon, 04 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、JWT认证流程二、SpringBoot整合JWT三、测试一、JWT认证流程 JWT认证流程认证流程如下：用户使用账号和密码发出post请求；服务器使用私钥创建一个jwt；服务器返回这个jwt给浏览器；浏览器将该jwt串在请求头中像服务器发送请求；服务器验证该jwt；返回响应的资源给浏览器。二、SpringBoot整合JWT ...]]></description><category></category></item><item><title><![CDATA[一分钟带你了解JWT认证！]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102867113</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102867113</guid><author>benpao412</author><pubDate>Fri, 01 Nov 2019 20:00:00 +0800</pubDate><description><![CDATA[本文目录

一、JWT简介

二、JWT认证和session认证的区别

三、JWT认证流程

四、JWT组成

五、JWT使用场景

一、JWT简介

JSON Web Token（JWT）是一个开放的标准（RFC 7519），它定义了一个紧凑且自包含的方式，用于在各方之间作为JSON对象安全地传输信息。由于此信息是经过数字签名的，因此可以被验证和信任。

更多信息可以查看官网：http...]]></description><category></category></item><item><title><![CDATA[Spring Boot 2.X 如何添加拦截器？]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102830362</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102830362</guid><author>benpao412</author><pubDate>Wed, 30 Oct 2019 20:00:00 +0800</pubDate><description><![CDATA[最近使用SpringBoot2.X搭建了一个项目，大部分接口都需要做登录校验，所以打算使用注解+拦截器来实现，在此记录下实现过程。一、实现原理 自定义一个注解@NeedL...]]></description><category></category></item><item><title><![CDATA[利用SpringBoot+Logback手写一个简单的链路追踪]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102830359</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102830359</guid><author>benpao412</author><pubDate>Wed, 30 Oct 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达最近线上排查问题时候，发现请求太多导致日志错综复杂，没办法把用户在一次或多次请求的日志关联在一起，所以就利用SpringBoot+Logback手写了一个简单的链路追踪，下面详细介绍下。本文目录 一、实现原理二、代码实战三、测试一、实现原理 Spring Boot默认使用LogBack日志系统，并且已经引入了相关的jar包，所以我们无需任...]]></description><category></category></item><item><title><![CDATA[SpringBoot中如何优雅的读取yml配置文件？]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102830365</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102830365</guid><author>benpao412</author><pubDate>Tue, 29 Oct 2019 20:00:00 +0800</pubDate><description><![CDATA[点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达YAML是一种简洁的非标记语言,以数据为中心，使用空白、缩进、分行组织数据，从而使得表示更加简洁易读。本文介绍下YAML的语法和SpringBoot读取该类型配置文件的过程。本文目录 一、YAML基本语法二、YAML支持的数据格式三、读取yml配置文件四、测试一、YAML基本语法 以缩进代表层级关系缩进不能使用tab，只能用空格空格个数不...]]></description><category></category></item><item><title><![CDATA[SpringBoot中如何灵活的实现接口数据的加解密功能？]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102775802</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102775802</guid><author>benpao412</author><pubDate>Mon, 28 Oct 2019 09:40:56 +0800</pubDate><description><![CDATA[数据是企业的第四张名片，企业级开发中少不了数据的加密传输，所以本文介绍下SpringBoot中接口数据加密、解密的方式。

本文目录
文章目录本文目录一、加密方案介绍二、实现原理三、实战四、测试五、踩到的坑
一、加密方案介绍
对接口的加密解密操作主要有下面两种方式：

自定义消息转换器

优势：仅需实现接口，配置简单。
劣势：仅能对同一类型的MediaType进行加解密操作，不灵活。

使用sp...]]></description><category></category></item><item><title><![CDATA[Spring Boot 2.X 如何优雅的解决跨域问题？]]></title><link>https://blog.youkuaiyun.com/benpao412/article/details/102830361</link><guid>https://blog.youkuaiyun.com/benpao412/article/details/102830361</guid><author>benpao412</author><pubDate>Mon, 28 Oct 2019 09:36:45 +0800</pubDate><description><![CDATA[一、什么是源和跨域 源（origin）就是协议、域名和端口号。对https://www.baidu.com/index.html进行跨域比较：URL是否跨域原因https...]]></description><category></category></item></channel></rss>