
SpringBoot
一个优秀的废人
微信公众号:一个优秀的废人
展开
-
Spring Data JPA 必须掌握的 20+ 个查询关键字
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言又是小师弟的投稿,确是一个喜欢技术的朋友。以下为原文:今天闲的无聊看 Spring Data JPA 官方文档的时候,发现并没有完整的 Jpa 关键字语义翻译。所以今天写了一篇中文文档,如果有错误,望大家轻喷。以下为官方图片以及示例代码和注释 :首先参照官方文档创建指定数据库CREATE TABL...原创 2019-02-26 23:21:37 · 3537 阅读 · 0 评论 -
SpringBoot 实战 (九) | 整合 Mybatis
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,本文通过注解的形式实现。什么是 MybatisMyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBat...原创 2019-02-20 22:07:39 · 184 阅读 · 0 评论 -
SpringBoot 实战 (十七) | 整合 WebSocket 实现聊天室
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言昨天那篇介绍了 WebSocket 实现广播,也即服务器端有消息时,将消息发送给所有连接了当前 endpoint 的浏览器。但这无法解决消息由谁发送,又由谁接收的问题。所以,今天写一篇实现一对一的聊天室。今天这一篇建立在昨天那一篇的基础之上,为便于更好理解今天这一篇,推荐先阅读:「SpringBoot 整合WebSoc...原创 2019-03-05 23:14:23 · 1291 阅读 · 1 评论 -
SpringBoot 实战 (十四) | 统一处理异常
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 SpringBoot 是如何统一处理全局异常的。SpringBoot 中的全局异常处理主要起作用的两个注解是 @ControllerAdvice 和 @ExceptionHandler ,其中 @ControllerAdvice 是组件注解,添加了这个注解的类能够拦截 Controller ...原创 2019-03-03 00:51:04 · 211 阅读 · 0 评论 -
SpringBoot 实战 (十五) | 服务端参数校验之一
前言估计很多朋友都认为参数校验是客户端的职责,不关服务端的事。其实这是错误的,学过 Web 安全的都知道,客户端的验证只是第一道关卡。它的参数验证并不是安全的,一旦被有心人抓到可乘之机,他就可以有各种方法来摸拟系统的 Http 请求,访问数据库的关键数据。轻则导致服务器宕机,重则泄露数据。所以,这时就需要设置第二道关卡,服务端验证了。老项目的服务端校验@RestController@Req...原创 2019-03-03 22:25:24 · 306 阅读 · 0 评论 -
SpringBoot 实战 (十八) | 整合 MongoDB
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言如题,今天介绍下 SpringBoot 是如何整合 MongoDB 的。MongoDB 简介MongoDB 是由 C++ 编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,它将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。MongoDB 文档类似于 JSON 对象。字段值...原创 2019-03-09 19:14:47 · 328 阅读 · 0 评论 -
SpringBoot 填坑 | Shiro 与 Redis 多级缓存问题
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言来自不愿意透露姓名的小师弟的投稿。这篇主要讲了,项目中配置了多缓存遇到的坑,以及解决办法。发现问题在一次项目实践中有实现多级缓存其中有已经包括了 Shiro 的 Cache ,本以为开启 redis 的缓存是一件很简单的事情只需要在启动类上加上 @EnableCaching 注解就会启动缓存管理了,但是问题出现了...原创 2019-03-16 00:50:05 · 1209 阅读 · 0 评论 -
SpringBoot | @Value 和 @ConfigurationProperties 的区别
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言最近有跳槽的想法,所以故意复习了下 SpringBoot 的相关知识,复习得比较细。其中有些,我感觉是以前忽略掉的东西,比如 @Value 和 @ConfigurationProperties 的区别 。如何使用定义两个对象,一个学生对象,对应着一个老师对象,代码如下:@ConfigurationProperti...原创 2019-03-17 21:13:06 · 458 阅读 · 0 评论 -
SpringBoot | SpringBoot 是如何实现日志的?
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下。门面模式说到日志框架不得不说门面模式。门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的...原创 2019-03-24 18:24:14 · 1391 阅读 · 0 评论 -
SpringBoot | 是如何实现自动配置的?
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言这个月过去两天了,这篇文章才跟大家见面,最近比较累,大家见谅下。下班后闲着无聊看了下 SpringBoot 中的自动配置,把我的理解跟大家说下。配置文件能写什么?相信接触过 SpringBoot 的朋友都知道 SpringBoot 有各种 starter 依赖,想要什么直接勾选加进来就可以了。想要自定义的时候就直接在...原创 2019-04-04 09:52:35 · 295 阅读 · 0 评论 -
SpringBoot 实战 (二十)| 整合 Redis
微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。前言两个月没更新原创了,实在惭愧。没有借口,就是因为自己懒了。最近看了「刻意学习」,这本书谈的是学习与行动的关系,书中提到了「持续行动」 这个概念,意思就是:我们要去实实在在地去做一些事情,而且是每天都做,才能称之为「持续行动」。看完这本书以后,我意识到我必须要做些什么,那就是写作。Redis 简介Redis 是一个...原创 2019-07-14 18:36:36 · 246 阅读 · 0 评论 -
SpirngBoot | 启动原理 01
一个读者,也是我的好朋友投稿的一篇关于 SpringBoot 启动原理的文章,才大二就如此优秀,未来可期。我一直想了解一下 SpirngBoot 的是如何启动的,我想就来写一篇关于 SpirngBoot 启动分析吧。第一次写那么高深的技术话题理解不到位的话也请多多包涵。源码版本SpinrgBoot 2.0.2众所周知 SpringBoot 的启动类是在一个 main 方法中调用 Spri...原创 2019-07-20 18:40:46 · 267 阅读 · 0 评论 -
SpringBoot 实战 (十二) | 整合 thymeleaf
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 Thymeleaf ,并整合 Thymeleaf 开发一个简陋版的学生信息管理系统。SpringBoot 提供了大量模板引擎,包含 Freemarker、Groovy、Thymeleaf、Velocity 以及 Mustache,SpringBoot 中推荐使用 Thymeleaf 作为模板...原创 2019-02-25 23:00:21 · 250 阅读 · 0 评论 -
SpringBoot 实战 (十六) | 整合 WebSocket 基于 STOMP 协议实现广播消息
前言如题,今天介绍的是 SpringBoot 整合 WebSocket 实现广播消息。什么是 WebSocket ?WebSocket 为浏览器和服务器提供了双工异步通信的功能,即浏览器可以向服务器发送信息,反之也成立。WebSocket 是通过一个 socket 来实现双工异步通信能力的,但直接使用 WebSocket ( 或者 SockJS:WebSocket 协议的模拟,增加了当前浏...原创 2019-03-05 00:32:58 · 455 阅读 · 0 评论 -
SpringBoot 实战 (二) | 第一个 SpringBoot 工程详解
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言哎呦喂,按照以往的惯例今天周六我的安排应该是待在家学学猫叫啥的。但是今年这种日子就可能一去不复返了,没法办法啊。前几天年轻,立下了一周至少更两篇文章的 flag 。废话少说,今天接着前文给你们带来了第一个 SpringBoot 工程的详解。第一个 SpringBoot 工程前文已经说过了 SpringBo...原创 2019-01-05 17:05:58 · 487 阅读 · 3 评论 -
SpringBoot 实战 (四) | 使用 LomBok
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言上周去了开年会,去的地方是温泉度假村。老实说,我是无感的,90% 是因为没中奖(老板太抠,两百人只抽三个奖),10 % 是因为从小泡温泉长大没啥感觉。LomBok 是什么?LomBok 是一个插件,它能通过注解帮我们消除那些必须要写但是重复的代码,比如setter,getter,构造函数之类的方法。试想...原创 2019-01-24 09:45:14 · 1096 阅读 · 0 评论 -
SpringBoot 实战 (五) | 集成 Swagger2 构建强大的 RESTful API 文档
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言快过年了,不知道你们啥时候放年假,忙不忙。反正我是挺闲的,所以有时间写 blog。今天给你们带来 SpringBoot 集成 Swagger2 的教程。什么是 Swagger2Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。为什么使用 Swag...原创 2019-01-24 23:59:11 · 420 阅读 · 4 评论 -
SpringBoot 实战 (三) | 配置文件详解
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天解析下 SpringBoot 的配置文件。自定义属性加载首先构建 SpringBoot 项目,不会的看这篇旧文 使用 IDEA 构建 Spring Boot 工程。首先在项目根目录下加入以下自定义属性:# 防止读取乱码spring.http.encoding.charset=UTF-8...原创 2019-01-28 23:06:58 · 272 阅读 · 0 评论 -
SpringBoot 实战 (十) | 声明式事务
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 SpringBoot 的 声明式事务。Spring 的事务机制所有的数据访问技术都有事务处理机制,这些技术提供了 API 用于开启事务、提交事务来完成数据操作,或者在发生错误时回滚数据。而 Spring 的事务机制是用统一的机制来处理不同数据访问技术的事务处理,Spring 的事务机制提...原创 2019-02-21 21:36:02 · 588 阅读 · 0 评论 -
SpringBoot 实战 (六) | 用 JdbcTemplates 访问 Mysql
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 springboot 通过jdbc访问关系型 mysql,通过 spring 的 JdbcTemplate 去访问。准备工作SpringBoot 2.xjdk 1.8maven 3.0ideamysql构建 SpringBoot 项目,不会的朋友参考旧文章:如何使用 IDEA...原创 2019-02-17 15:23:55 · 262 阅读 · 0 评论 -
SpringBoot 实战 (十一) | 整合数据缓存 Cache
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 SpringBoot 的数据缓存。做过开发的都知道程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的,当需要重复获取相同数据时,一次又一次的请求数据库或者远程服务,导致大量时间耗费在数据库查询或远程方法调用上,导致性能的恶化,这便是数据缓存要解决的问题。Spring 的缓存支持Sp...原创 2019-02-23 00:34:01 · 230 阅读 · 0 评论 -
SpringBoot 实战 (七) | 默认日志配置
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 springboot 默认日志的配置。默认日志 Logback默认情况下,Spring Boot 用 Logback 来记录日志,并用 INFO 级别输出到控制台。如果你在平常项目中用过 Spring Boot,你应该已经注意到很多 INFO 级别的日志了。默认日志长这样:2019-02...原创 2019-02-18 23:55:03 · 307 阅读 · 0 评论 -
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天这篇是一个刚认识不久的小师弟的投稿。交谈中感觉技术水平与代码素养非常高,关键是才大二呀。那会我应该还在玩泥巴吧,真是后生可畏。问题描述我在本地端( windos 端,数据库版本 MySQL5.7、SpringBoot2.1.3、数据访问框架 JPA)测试代码时 current_timestamp...原创 2019-02-24 15:45:40 · 427 阅读 · 3 评论 -
SpringBoot 实战 (十三) | 整合 MyBatis (XML 版)
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,之前介绍过了 SpringBoot 整合MyBatis 注解版的使用,上一篇介绍过 MyBatis 的理论,今天这篇就不介绍 MyBatis 的理论了,有兴趣的跳转阅读:SpringBoot 实战 (十三) | 整合...原创 2019-03-01 00:21:54 · 233 阅读 · 0 评论 -
SpringBoot 实战 (八) | 使用 Spring Data JPA 访问 Mysql 数据库
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言如题,今天介绍 Spring Data JPA 的使用。什么是 Spring Data JPA在介绍 Spring Data JPA 之前,首先介绍 Hibernate 。 Hibernate 使用 O/R 映射 (Object-Relation Mapping) 技术实现数据访问, O/R 映射即将领域...原创 2019-02-19 23:15:06 · 254 阅读 · 0 评论 -
SpringBoot 实战 (一) | 如何使用 IDEA 构建 Spring Boot 工程
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言新年立了个 flag,好好运营这个公众号。具体来说,就是每周要写两篇文章在这个号发表。刚立的 flag 可不能这么快打脸。下面送上本周第一篇。本文我们将介绍嵌入 Intellij IDEA 中的 Spring Initializr 工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spri...原创 2019-01-04 22:41:37 · 542 阅读 · 0 评论