- 博客(48)
- 资源 (4)
- 收藏
- 关注
原创 FastJson序列化时候出现了$ref?还不赶紧学习下
最近在使用fastjson时候遇到一个问题,后台的数据转化为json字符串后发送到前端时候出现了$ref字样的东西,后来明白了这是引用,下面详细介绍下。一、一个简单的例子先来上一段代码,运行后打印的结果可能出乎意料,代码如下:@org.junit.Testpublic void testFastJson() { Map<String, Object> dataM...
2020-01-16 15:52:20
2145
原创 fastjson自定义序列化竟然有这么多姿势?
本文介绍下fastjson自定义序列化的各种操作。一、什么是fastjson?fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。二、如何使用添加如下maven依赖即可:<dependency> <groupId>com.a...
2019-12-02 13:38:34
5105
3
原创 SpringBoot2.0整合集成WebSocket,实现后端数据实时推送!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达之前的一个系统为了实现推送使用的是Ajax轮询,这种方式浏览器需要不断的向服务器发出请求,会浪费很多的带宽等资源,所以研究了下WebSocket,本文将详细介绍下。一、什么是WebSocket? WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。We...
2019-11-25 20:00:00
945
1
原创 一分钟带你了解下MyBatis的动态SQL!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达MyBatis的强大特性之一便是它的动态SQL,以前拼接的时候需要注意的空格、列表最后的逗号等,现在都可以不用手动处理了,MyBatis采用功能强大的基于OGNL的表达式来实现,下面主要介绍下。一、if标签 if是最常用标签,经常用在判断语句上,可以实现某些简单的条件选择。基本使用示例如下:<selectid="query...
2019-11-20 20:00:00
182
原创 一分钟带你了解下Spring Security!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、什么是Spring Security?二、Spring Security的主要功能三、快速入门案例1:接口不添加保护案例2:接口添加保护四、自定义认证和授权一、什么是Spring Security? Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,它是用于保护基于Spring的应用程序的实际...
2019-11-19 20:00:00
383
原创 一分钟带你学会利用mybatis-generator自动生成代码!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、MyBatis Generator简介二、使用方式三、实战一、MyBatis Generator简介 MyBatis Generator是MyBatis官方提供的代码生成器,可以生成xml、dao、entity。官网介绍见:http://mybatis.org/generator/二、使用方式 MyBatis Generat...
2019-11-15 18:20:00
184
原创 手把手带你实战下Spring的七种事务传播行为
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文介绍Spring的七种事务传播行为并通过代码演示下。本文目录 一、什么是事务传播行为?二、事务的7种传播行为三、7种传播行为实战1.PROPAGATION_REQUIRED测试2.PROPAGATION_SUPPORTS测试3.PROPAGATION_MANDATORY测试4.PROPAGATION_REQUIRES_NEW测试5.P...
2019-11-13 20:00:00
367
2
原创 SpringBoot系列-整合Mybatis(注解方式)
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、常用注解说明二、实战三、测试四、注意事项一、常用注解说明 @Mapper可以给接口自动生成一个实现类,让spring对mapper接口的bean进行管理,并且可以省略去写复杂的xml文件。@Options配置映射语句的属性。例如:@Options(useGeneratedKeys = true, keyColumn = "...
2019-11-12 20:00:00
1686
原创 SpringBoot系列-整合Mybatis(XML配置方式)
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程。本文目录 一、什么是 MyBatis?二、整合方式三、实战四、测试一、什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBa...
2019-11-11 20:00:00
594
1
转载 只因写了一段爬虫,公司200多人被抓!
“一个程序员写了个爬虫程序,整个公司200多人被端了。”“不可能吧!”刚从朋友听到这个消息的时候,我有点不太相信,做为一名程序员来讲,谁还没有写过几段爬虫呢?只因写爬虫程序就被端有点夸张了吧。朋友说,消息很确认并且已经进入审判阶段了。01.对消息进一步确认朋友认识几个律师朋友,和他们有一些业务来往,得知他们想尝试把业务扩展到程序员这个群体。那段时间我刚好离职也有时间,在朋友的安排下一起聊聊看看有没...
2019-11-09 09:25:40
1147
原创 Java中打印日志,这4点很重要!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达打印日志,要注意下面4点。本文目录 一、预先判断日志级别二、避免无效日志打印三、区别对待错误日志四、保证记录完整内容一、预先判断日志级别 对DEBUG、INFO级别的日志,必须使用条件输出或者使用占位符的方式打印。该约定综合考虑了程序的运行效率和日志打印需求。先来看一个反例:log.debug("输入参数信息id="+id+",o...
2019-11-08 18:30:00
295
原创 SpringBoot系列-日志配置进阶篇
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、配置文件命名规范二、配置文件简介三、SpringProfile使用一、配置文件命名规范 SpringBoot日志系统有自己的默认配置,覆盖默认配置很简单,只要我们把自己的xml配置文件命名好然后放到resources目录下即可。各个日志系统的命名规范:日志系统配置文件名Logbacklogback-spring.xml, l...
2019-11-06 20:00:00
221
原创 SpringBoot系列-日志配置基础篇
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达日志对于排查问题至关重要,所以本文介绍下SpringBoot中日志的简单配置。本文目录 一、Logback介绍二:日志级别三、配置日志方式application.properties配置一、Logback介绍 SpringBoot中默认集成了Logback,Logback是java的日志开源组件,是log4j创始人写的,性能比log4j要...
2019-11-05 20:00:00
149
原创 SpringBoot集成JWT实现权限认证
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达本文目录 一、JWT认证流程二、SpringBoot整合JWT三、测试一、JWT认证流程 JWT认证流程认证流程如下:用户使用账号和密码发出post请求;服务器使用私钥创建一个jwt;服务器返回这个jwt给浏览器;浏览器将该jwt串在请求头中像服务器发送请求;服务器验证该jwt;返回响应的资源给浏览器。二、SpringBoot整合JWT ...
2019-11-04 20:00:00
812
原创 一分钟带你了解JWT认证!
本文目录一、JWT简介二、JWT认证和session认证的区别三、JWT认证流程四、JWT组成五、JWT使用场景一、JWT简介JSON Web Token(JWT)是一个开放的标准(RFC 7519),它定义了一个紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。更多信息可以查看官网:http...
2019-11-01 20:00:00
357
原创 利用SpringBoot+Logback手写一个简单的链路追踪
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达最近线上排查问题时候,发现请求太多导致日志错综复杂,没办法把用户在一次或多次请求的日志关联在一起,所以就利用SpringBoot+Logback手写了一个简单的链路追踪,下面详细介绍下。本文目录 一、实现原理二、代码实战三、测试一、实现原理 Spring Boot默认使用LogBack日志系统,并且已经引入了相关的jar包,所以我们无需任...
2019-10-30 20:00:00
767
原创 Spring Boot 2.X 如何添加拦截器?
最近使用SpringBoot2.X搭建了一个项目,大部分接口都需要做登录校验,所以打算使用注解+拦截器来实现,在此记录下实现过程。一、实现原理 自定义一个注解@NeedL...
2019-10-30 20:00:00
544
原创 SpringBoot中如何优雅的读取yml配置文件?
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达YAML是一种简洁的非标记语言,以数据为中心,使用空白、缩进、分行组织数据,从而使得表示更加简洁易读。本文介绍下YAML的语法和SpringBoot读取该类型配置文件的过程。本文目录 一、YAML基本语法二、YAML支持的数据格式三、读取yml配置文件四、测试一、YAML基本语法 以缩进代表层级关系缩进不能使用tab,只能用空格空格个数不...
2019-10-29 20:00:00
2818
原创 SpringBoot中如何灵活的实现接口数据的加解密功能?
数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密、解密的方式。本文目录文章目录本文目录一、加密方案介绍二、实现原理三、实战四、测试五、踩到的坑一、加密方案介绍对接口的加密解密操作主要有下面两种方式:自定义消息转换器优势:仅需实现接口,配置简单。劣势:仅能对同一类型的MediaType进行加解密操作,不灵活。使用sp...
2019-10-28 09:40:56
1155
原创 Spring Boot 2.X 如何优雅的解决跨域问题?
一、什么是源和跨域 源(origin)就是协议、域名和端口号。对https://www.baidu.com/index.html进行跨域比较:URL是否跨域原因https...
2019-10-28 09:36:45
2768
原创 SpringBoot中神奇的@Enable*注解?
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达在SpringBoot开发过程,我们经常会遇到@Enable开始的好多注解,比如@EnableEurekaSe...
2019-10-23 20:00:00
453
原创 Spring Boot 2.X整合Spring-cache,让你的网站速度飞起来
计算机领域有人说过一句名言:“计算机科学领域的任何问题都可以通过增加一个中间层来解决”,今天我们就用Spring-cache给网站添加一层缓存,让你的网站速度飞起来。本文...
2019-10-23 20:00:00
120
原创 Java中Integer.parseInt和Integer.valueOf,你还傻傻分不清吗?
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达在Java的Integer类中,有Integer.valueOf(String s)和Integer.pars...
2019-10-21 20:00:00
2575
原创 Redis批量删除key的小技巧,你知道吗?
在使用redis的过程中,经常会遇到要批量删除某种规则的key,但是redis提供了批量查询一类key的命令keys或scan,没有提供批量删除某种规则key的命令,怎么...
2019-10-21 20:00:00
495
转载 聊一聊-JAVA 泛型中的通配符 T,E,K,V?
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达作者:glmapper前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了...
2019-10-18 20:00:00
109
原创 SpringCloud系列-整合Hystrix的两种方式
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。本文所说的...
2019-10-16 20:00:00
433
原创 一篇文章搞定SpringMVC参数绑定
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达SpringMVC参数绑定,简单来说就是将客户端请求的key/value数据绑定到controller方法的形...
2019-10-16 20:00:00
128
原创 SpringCloud系列-利用Feign实现声明式服务调用
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达上一篇文章《手把手带你利用Ribbon实现客户端的负载均衡》介绍了消费者通过Ribbon调用服务实现负载均衡的...
2019-10-14 21:00:00
252
原创 手把手带你利用Ribbon实现客户端的负载均衡
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达之前的文章《SpringCloud搭建注册中心与服务注册》介绍了注册中心的搭建和服务的注册,本文将介绍下服务消...
2019-10-10 19:41:26
148
原创 SpringCloud实现服务间调用(RestTemplate方式)
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达上一篇文章《SpringCloud搭建注册中心与服务注册》介绍了注册中心的搭建和服务的注册,本文将介绍下服务消...
2019-09-30 15:30:45
635
原创 SpringCloud搭建注册中心与服务注册
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达上一篇文章《微服务注册中心原理,看这篇就够了!》介绍了注册中心的概念和原理,本文将介绍下利用Eureka搭建中...
2019-09-29 20:10:00
140
原创 微服务注册中心原理,看这篇就够了!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达在微服务架构中,注册中心是最核心的基础服务之一,本文将详细介绍下注册中心的组成部分和它们之前的关系。本文目录 ...
2019-09-16 09:11:40
800
转载 别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达!作者:lrwin 1.使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。2.打...
2019-09-11 20:16:22
112
原创 SpringBoot整合ActiveMQ,看这篇就够了!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达!ActiveMQ是Apache提供的一个开源的消息中间件,完全采用Java实现,因此它能很好地支持JMS(J...
2019-09-10 20:01:09
611
原创 编码神器Lombok,学会后开发效率至少提高一倍!
点击上方“Java碎碎念”,关注公众号优质文章,第一时间送达!Lombok会利用注解自动生成javaBean中的getter、setter、equals、toString...
2019-09-06 20:04:42
123
原创 Spring Boot配置过滤器的两种方式
过滤器(Filter)是Servlet中常用的技术,可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,常用的场景有登录校验、权限控制、敏感词过滤等,下面介绍...
2019-09-05 20:00:00
400
原创 Spring Boot统一异常处理实战
在Spring Boot项目中,代码出现异常后会跳转到/error进行错误展示,对终端用户和前端开发人员很不友好,所以本文介绍下Spring Boot项目中统一异常处理的...
2019-09-04 20:06:31
216
原创 从技术的角度分析下为什么不要在网上发“原图”
现在任何智能手机拍摄的照片,有一个叫EXIF参数的东西,它包括光圈、快门、ISO、白平衡、日期时间、位置等各种图像数据,今天我们就利用代码来演示下从一张图片中能获得哪些意想不到的数据。本文目录文章目录本文目录一、什么是EXIF信息?二、读取图片信息1.引入jar包2.读取图片代码3.运行并打印图片信息4.分析一、什么是EXIF信息?EXIF(Exchangeable Image Fil...
2019-09-03 10:49:53
306
3
原创 Spring Boot之Profile--快速搞定多环境使用与切换
Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活方法,例如配置文件,命令行,jvm参数设置等,下面将详细介绍下。本文目录一、为什么要使用Profile二、Spring Profile激活方式1、配置文件激活2、命令行3、虚拟机参...
2019-08-19 16:52:08
119
原创 为什么单线程的Redis这么快?
一. Redis简介Redis是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)等。二. Redis为什么这么快完全基于内存,绝大部分请求是纯粹的内存操作。 数据结构简单,对数据操作也简单,Redis...
2019-03-06 11:08:32
129
javaWeb上传代码(普通上传和ajax后台上传)
2015-02-28
java聊天室课程设计源码含(设计报告)
2009-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人