2021.2.24 更新 1 概述 这是Spring Boot的第二个Demo,一个只有三层架构的极简Web应用,持久层使用的是MyBatis. 2 架构 一个最简单的Spring Boot Web应用分为三层: Controller层:负责具体业务流程的控制,调用Service层来控制业务逻辑 Service层:业务逻辑层,真正执行业务的操作,比如获取用户信息等 Dao层:负责数据持久化,在这一层中与各种数据库,比如MySQL.Oracle等打交道 先来简单说一下三层所使用到的注解. 2.1…
1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 Redis安装非常简单,以笔者的Manjaro为例,直接paru安装: paru -S redis Ubuntu.CentOS之类的都提供了软件包安装: sudo apt install redis sudo yum install redis 如果想从源码编译安装: wget http://dow…
本文内容参考网络,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 该系列博文会告诉你什么是分布式系统,这对后端工程师来说是很重要的一门学问,我们会逐步了解常见的分布式技术.以及一些较为常见的分布式系统概念,同时也需要进一步了解zookeeper.分布式事务.分布式锁.负载…
spring boot 2 使用RedisTemplate操作redis存取对象时,需要先进行序列化操作 import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springfram…
2021.2.24 更新 1 概述 Jasypt是一个加密库,Github上有一个集成了Jasypt的Spring Boot库,叫jasypt-spring-boot,本文演示了如何使用该库对配置文件进行加密. 2 依赖 首先添加依赖: <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId&g…
2021.2.24 更新 1 概述 本文演示了如何给Spring Boot应用加上HTTPS的过程. 2 证书 虽然证书能自己生成,使用JDK自带的keytool即可,但是生产环境是不可能使用自己生成的证书的,因此这里使用的证书是购买过来的,具体流程就不说了,去云厂商处购买即可. 3 配置文件 新建一个Spring Boot工程,在配置文件添加如下参数: server.ssl.key-store=classpath:crt/xxx.pfx server.ssl.key-store-type=PK…
2021.2.24 更新 1 概述 本文讲述了如何使用Docker部署Spring Boot应用,首先介绍了Docker的安装过程,接着介绍了Docker的一些基础知识,最后讲述了Dockerfile的编写以及部署过程. 2 环境 服务器:aarch64 CentOS8 JDK:OpenJDK 11 Docker:19.03.9 3 Docker安装 (已安装了Docker可以跳过该部分) 由于大部分的教程都是针对x86架构的服务器的,这里笔者的服务器为aarch64架构,因此记录一下Docke…
2021.2.24 更新 1 概述 本文主要讲述了如何使用Hibernate Validator以及@Valid/@Validate注解. 2 校验 对于一个普通的Spring Boot应用,经常可以在业务层看到以下类似的操作: if(id == null) {...} if(username == null) {...} if(password == null) {...} 这是很正常的,但是会显得代码很繁琐,一个更好的做法就是使用Hibernate Validator. 3 Hibernat…
2021.2.24 更新 1 新建工程 打开IDEA选择新建工程并选择Spring Initializer: 可以在Project JDK处选择JDK版本,下一步是选择包名,语言,构建工具以及打包工具等,这里选择的是Java+Maven+Jar: 再下一步是选择依赖,一般来说Spring Boot应用都需要以下四个基础依赖: 最后一步是填上工程名以及路径: 这样一个Demo就完成了,项目结构如下: 2 Hello World 在启动类输入即可: 然后在可以点上面的绿色小三角运行,或者按Shift…
2021.2.24 更新 1 概述 Spring Web+MyBatis Plus的一个Demo,内容和上一篇类似,因此重点放在MyBatis Plus这里. 2 dao层 MyBatis Plus相比起MyBaits可以简化不少配置,对于普通的CRUD提供了两个接口实现: BaseMapper<T> ISerivce<T> 最简单的BaseMapper<T>的CRUD接口如下: insert(T eneity):插入,返回int deleteById(Serializ…