分享技术,品味人生
Spring Boot 3.0 (二十六):Docker Compose + Spring Boot + Nginx + Mysql 实践
我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your feeling 。 前期了解概念什么的确实比较无聊,请不要着急精彩马上开始,当大家对 docker 相关概念有所了解之后,后面我会结合 Spring Boot 给…
Spring Boot 3.0 (二十五):使用 Docker 部署 Spring Boot
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。 首先构建一个简单的 Spring Boot 项目,然后给项目添加 Docker 支持,最后对项目进行部署。 ## 一个简单 Spring Boot 项目 在 中 ,使用 …
Spring Boot 3.0 (二十二):如何优雅的使用 MyBatis 之 MyBatis-Plus
**Spring Boot3.0 官方暂时还不支持,等等再看吧。** MyBatis-Plus 是 MyBatis 的第三方使用插件。 前两天在公众号中发了,有朋友留言说能不能写一下整合 MyBatis-Plus 的教程。 在这之前我对 MyBatis-Plus 其实了解不是很多,一般情况下也不太愿意使用第三方的组件。…
Spring Boot 3.0 (二十一):Spring Boot 中的响应式编程和 WebFlux 入门
Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕。本篇给大家介绍如何在 Spring Boot 中使用 Webflux 。 为了方便大家理解,我们先来了解几个概念。 ## 响应式编程 在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数…
Spring Boot 3.0 (二十):Spring Boot 集成 Memcached
## Memcached 介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端…
Spring Boot 3.0 (十九):Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。 这个神器就是 , 接口的 会在所有 都初始化之后,之前执行,非常适合在应用程序启动之初进行一些数据初始化的工作…
Spring Boot 3.0 (十八):Spring Boot 动态 Banner
Spring Boot 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜。 ## 配置依赖 添加依赖 设置完毕后,中没有指明版本的依赖包,将自动使用相关依赖的版本。 如一些 Maven 仓库还没更新,如果导入项目后依赖包不能下载,可以手动添加 Spring Boot 官方 Maven…
Spring Boot3.0(十七):使用 Spring Boot 上传文件
上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个 Spring Boot 上传文件的小案例。 ## 1、pom 包配置 导入相关包 引入了做页面模板引擎,写一些简单的上传示例。 ## 2、启动类设置 tomcatEmbedded 这段代码是为了解决,上传文件大于10M出现连接重…
Spring Boot 3.0 (十六):使用 Jenkins 部署 Spring Boot
Jenkins 是 Devops 神器,本篇文章介绍如何安装和使用 Jenkins 部署 Spring Boot 项目 Jenkins 搭建、部署分为四个步骤; - 第一步,Jenkins 安装 - 第二步,插件安装和配置 - 第三步,Push SSH - 第四步,部署项目 ## 第一步 ,Jenkins 安装 准备环…
Spring Boot 3.0 (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例
这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例。 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个 Demo 来试试它的效果,越简单越容易上手最好。在网上找相关资料的时候总是很麻烦,有的文章写的挺不错的但是没有源代码,有的有源代码但是文章介绍又不是…
Spring Boot 3.0 (十四): Spring Boot 整合 Shiro-登录认证和权限管理
**官方暂时还没有适配 Spring Boot 3.X** 这篇文章我们来学习如何使用 Spring Boot 集成 Apache Shiro 。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在 Java 领域一般有 Spring Security、 Apache Shiro 等安全框架,但是…
Spring Boot3.0 (十三): Spring Boot 小技巧
一些 Spring Boot 小技巧、小知识点 ## 初始化数据 我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用 Jpa,另外一种是 Spring JDBC 。两种方式各有区别下面来详细介绍。 **使用 Jpa** 在使用的情况下设置的属性设置为 or 的时候,Spring Boo…
Spring Boot3.0(十二):Spring Boot 如何测试打包部署
有很多网友会时不时的问我, Spring Boot 项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下 Spring Boot 如何开发、调试、打包到最后的投产上线。 ## 开发阶段 ### 单元测试 在开发阶段的时候最重要的是单元测试了, Spring Boot 对单元测试的支持已经很完善了。…
Spring Boot3.0(十一):Spring Boot 中 MongoDB 的使用
MongoDB 是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多。 ## MongoDB 简介 MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。基于分布式文件存储的数据库。由C++语言编…
Spring Boot 3.0 (十):邮件服务
发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用 JavaMail 相关 api 来写发送邮件的相关代码,后来 Spring 推出了 JavaMailSender 更加简化了邮件发送的过程,在之后 Spring Boot 对此进行了封装就有了现在的 ,本章文章的介…
Spring Boot3.0(九):定时任务
在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现 ## 1、pom 包配置 pom 包里面只需要引入 Spring Boot Starter 包即可 ## 2、启动类启用定时 在启动类上面加上即可开启定时 ## 3、创建定时任务…
Spring Boot3.0(八):消息队列 RabbitMQ 详解
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将 RocketMQ 捐献给了 Apache,当然了今天的主角还是讲 RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息…
Spring Boot3.0(七):Mybatis 多数据源最简解决方案
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们遇到的情况是后者,网上找了很多,大都是根据 Jpa 来做多数据源解决方案,要不就是老的 Spring 多数据源解决方案,还有的是利用 Aop 动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整…
Spring Boot3.0(六):如何优雅的使用 Mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo…
Spring Boot3.0(五):Spring Boot Jpa 的使用
在上篇文章中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项。 ## Spring Boot Jpa 介绍 ### 首先了解 Jpa 是什么? Jpa (Java Persistence API) 是 Sun 官方提出的 Jav…