前言 Java8的date API一经推出便广受好评,今日也准备用一用,然后就用出问题了.基本用法见https://www.cnblogs.com/woshimrf/p/java8-date-api.html 问题 LocalDate可以很友好的toString为YYYY-MM-dd的格式,很适合我当前的业务,但当我把它丢到json的时候,瞬间解体了: { "year": 2018, "month": "AUGUST", "era&qu…
使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> 2.编写一个CacheService接口,使用redisCach…
前言 Spring Boot提供了与三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的默认库. 官网介绍: https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-json.html#boot-features-json-jackson https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/re…
最近项目要实现一种需求,对于后端返回给前端的json格式的一种规范,不允许缺少字段和字段值都为null,所以琢磨了一下如何进行将springboot的Jackson序列化自定义一下,先看看如何实现,再去看源码 第一步:写配置类 1 @Configuration 2 public class WebConfiguration extends WebMvcConfigurationSupport { 3 @Override 4 protected void extendMessageConverte…
使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> 2.编写一个CacheService接口,使用redisCach…
安装Redis请参考:<CentOS快速安装Redis> 一.springboot集成redis并实现DB与缓存同步 1.添加redis及数据库相关依赖(pom.xml) <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </depen…
一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下图所示 我们选择64位的压缩包,下载后需要解压,我们解压至D盘,如下图所示: 接下来我们需要执行一些安装命令 1,在如上图的目录中,直接键入“cmd“ 2,在打开的cmd命令窗口中输入 “redis-server.exe redis.windows.conf” 用于启动redis服务 (注意采用这个…
1.引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.配置redis spring.redis.host=127.0.0.1 3.Springboot 配置类 package org.springframework.b…
SpringBoot集成Jersey 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> 添加配置 ①新建JerseyConfig.java @Component @ApplicationPath("/jersey"…
SpringBoot 集成 Spring Session 应该讲解清楚,为什么要使用 Redis 进行 Session 的管理. Session 复制又是什么概念. Spring Session 在汪云飞老师的书里的介绍是: Spring Session:提供一个 API 及实现来管理用户会话信息. 我们可以这样理解,原来在 Tomcat 服务器中存在的 Session 统一放置在 Redis 中进行管理. 这样在服务器集群的时候,就不会出现状态不一致的情况.(这一步还须要描述详细一些,最好把自…
本文是作者原创,版权归作者所有.若要转载,请注明出处. springboot集成mybatis和mybatis-generator插件 1.新建Springboot项目(略) 2.导入相关依赖 <!--spring-boot--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>…
本文是SpringBoot+Kafka的实战讲解,如果对kafka的架构原理还不了解的读者,建议先看一下<大白话kafka架构原理>.<秒懂kafka HA(高可用)>两篇文章. 目录 一.环境准备 二.生产者实践 普通生产者 带回调的生产者 自定义分区器 kafka事务提交 三.消费者实践 简单消费 指定topic.partition.offset消费 批量消费 监听异常处理器 消息过滤器 消息转发 定时启动/停止监听器   一.环境准备 1.在项目中连接kafka 因为是外网,…
Jackson序列化和反序列化Json数据 Web技术发展的今天,Json和XML已经成为了web数据的事实标准,然而这种格式化的数据手工解析又非常麻烦,软件工程界永远不缺少工具,每当有需求的时候就会出现各种类库,框架以及工具来解决这些基础的问题,Jackson就是这些工具中的一个,使用这个工具开发者完全可以从手工结束Json数据的重复劳动中解放出来.使用Jackson首先需要下载相应的类库,如下的Maven dependency列出了完整的POM dependency. <dependency…
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;…
参考文章 Jackson使用ContextualSerializer在序列化时获取字段注解的属性 使用BeanSerializerModifier定制jackson的自定义序列化(null值的处理) 关于使用ContextualSerializer的补充 BeanSerializerFactory中有如下代码, 关于设置SerializerModifier,如下 两种实现序列化的方式 方式1:自定义json serialize 实现ContextualSerializer接口 1. bo中自定义…
本文就SpringBoot集成Security的使用步骤做出解释说明.…
Actuator监控端点,主要用来监控与管理. 原生端点主要分为三大类:应用配置类.度量指标类.操作控制类. 应用配置类:获取应用程序中加载的配置.环境变量.自动化配置报告等与SpringBoot应用密切相关的配置类信息.(可以理解为静态报告) 度量指标类:获取应用程序运行过程中用于监控的度量指标.比如:内存信息.线程池信息.HTTP请求统计等.(动态报告) 操作控制类:提供了对应用的关闭操作类功能.目前只有/shutdown. springboot集成Actuator 1.添加pom依赖(sp…
之前项目鉴权一直使用的Shiro,那是在Spring MVC里面使用的比较多,而且都是用XML来配置,用Shiro来做权限控制相对比较简单而且成熟,而且我一直都把Shiro的session放在mongodb中,这个比较符合mongodb的设计初衷,而且在分布式项目中mongodb也作为一个中间层,用来很好很方便解决分布式环境下的session同步的问题. 自从SpringBoot问世之后我的项目基本上能用SpringBoot的就会用SpringBoot,用MAVEN做统一集中管理也很方便,虽然S…
上篇文章<springboot集成mybatis(一)>介绍了SpringBoot集成MyBatis注解版.本文还是使用上篇中的案例,咱们换个姿势来一遍^_^ 二.MyBatis配置版(XML) 配置版本应该是大家最熟悉的一套.用过ibatis的朋友都知道,大部分工作量都在xml文件里面.通过标签可以组合出各种复杂的sql. Mybatis为我们简化了Dao层的代码,直接通过接口映射配置文件中的sql. 1.集成mybatis,增加maven依赖 <dependencies> &l…
MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis.它支持定制化SQL.存储过程.高级映射及缓存.是一个轻量级的持久层框架. 目前主流的持久层框架还是Mybatis.Hibernate及JDBC Template,这些持久层框架各有利弊. 一.MyBatis注解版(Annotation) 注解版本可以优雅的去除配置文件,并和springbo…
一.springBoot集成jsp: 1.修改pom文件 <!--集成jsp所需jar包--> <!--jsp页面使用jstl标签--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat 的支持.--> <dependency> <…
背景 在项目开发过程中,我们经常需要执行具有周期性的任务.通过定时任务可以很好的帮助我们实现. 我们拿常用的几种定时任务框架做一个比较: 从以上表格可以看出,Spring Schedule框架功能完善,简单易用.对于中小型项目需求,Spring Schedule是完全可以胜任的. 1.springboot集成schedule 1.1 添加maven依赖包 由于Spring Schedule包含在spring-boot-starter基础模块中了,所有不需要增加额外的依赖. <dependenci…
前言 在使用rabbitmq时,我们可以通过消息持久化来解决服务器因异常崩溃而造成的消息丢失.除此之外,我们还会遇到一个问题,当消息生产者发消息发送出去后,消息到底有没有正确到达服务器呢?如果不进行特殊配置,默认情况下发送的消息是不会给生产者返回任何响应的,也就是默认情况下生产者并不知道消息是否正常到达了服务器.对于数据必达的需求,你肯定对消息的来龙去脉都有个了接,这种情况下就需要用到rabbitmq消息确认. 消息确认 rabbitmq消息确认分为生产者确认和消费者确认. 生产者消费确认提供了…
1.Oauth2简介 OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0. 2.Oauth2服务器 授权服务器 Authorization Service. 资源服务器 Resource Service.  授权服务器 授权服务器,即服务提供商专门用来处理认证的服务器.在这里…
在基础阶段学习ES一般是首先是 安装ES后借助 Kibana 来进行CURD 了解ES的使用: 在进阶阶段可以需要学习ES的底层原理,如何通过Version来实现乐观锁保证ES不出问题等核心原理: 第三个阶段就是学以致用 ,在项目中如何做到 springboot集成elasticsearch来解决实际问题,下边通过一个Demo的介绍过程来引导学习. 1.首先pom.xml配置所需jar包,jar使用的版本需要和测试环境上的es保持配套: <!-- elasticsearch .x 依赖 -->…
Spring官网 (https://spring.io/projects/spring-batch#overview)对Spring  Batch的解释: 一个轻量级的.全面的批处理框架,用于开发对企业系统的日常操作至关重要的健壮批处理应用程序. Spring Batch提供了处理大量记录所必需的可重用功能,包括日志/跟踪.事务管理.作业处理统计信息. 作业重启.跳过和资源管理.它还提供了更高级的技术服务和特性,这些特性将通过优化和分区技术支持极高 容量和高性能的批处理作业.无论简单还是复杂,大…
记录SpringBoot 集成Mybatis 连接数据库 防止后面忘记 1.添加Mybatis和Mysql依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <…
一.前言 1.上文中我们搭建好了一套HBase集群环境,这一文我们学习一下HBase的基本操作和客户端API的使用 二.shell操作 先通过命令进入HBase的命令行操作 /work/soft/hbase-/bin/hbase shell 1.建表 create 'test', 'cf' (1)以上命令是建立一个test表,里面有一个列族cf (2)与RDS不同,HBase的列不是必须的,当向列族中插入一个单元格数据时,才有了列 2.查看所有表 list 3.查看表属性 describe 't…
前言 开心一刻 中韩两学生辩论. 中:端午节是属于谁的? 韩:韩国人! 中:汉字是谁发明的? 韩:韩国人! 中:中医是属于谁的? 韩:韩国人! 中:那中国人到底发明过什么? 韩:韩国人! 前情回顾 Mybatis源码解析 - mapper代理对象的生成,你有想过吗,我们讲到了mybatis操作数据库的流程:先创建SqlSessionFactory,然后创建SqlSession,然后再创建获取mapper代理对象,最后利用mapper代理对象完成数据库的操作:Mapper代理对象的创建,利用的是J…
本文主要内容:springBoot简介,在SpringBoot中如何集成Redis,可配置Redis集群. 关于SpringBoot 你想要的,这里都有:https://spring.io/projects/spring-boot 这是SpringBoot的官方文档,开发者已经将你需要的东西都给你了.SpringBoot是一个大的容器,可以在这里很轻松地创建各种Spring应用,并且轻松集成其他框架,可以参照官网的案例完成一个HelloWorld.完成之后你会发现使用SpringBoot是一件多…