红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
专栏
系列文章
Spring Boot 学习笔记

从零开始 Spring Boot 10:日志

图源:简书 (jianshu.com) 虽然可以通过System.out.println之类的方式向控制台直接输出一些信息进行最简单的调试,但这种方式并不正式,且很难将输出信息收集和统一管理分析。 正式的方式是使用日志,实际上很多编程语言甚至提供语言层级的日志支持,不过Java并没有相应的支持,需要我们选取一些适用于Spring Boot应用的日志框架。 事实上Spring Boot默认提供了对Logback日志框架的支持,但在实际使用中更多的是使用SLF4J。 SLF4J(Simple Logging Facad…

2022年5月7日 0条评论 1002点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 9:Shiro

图源:简书 (jianshu.com) Shiro是一个权限管理组件,可以用它来实现Web应用的权限控制,本篇将介绍如何在Spring Boot的Web项目中使用Shiro实现权限控制。 准备工作 在使用Shiro前,需要先构建一个示例需要的基本Web应用: 从头创建一个新的基于Spring Boot的Web项目,并添加基本的依赖,可以参考从零开始Spring Boot 1:快速构建 - 魔芋红茶's blog (icexmoon.cn)。 创建数据库,可以使用learn_spring_boot/books.sql…

2022年5月6日 0条评论 1241点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 8:Swagger

图源:简书 (jianshu.com) 后台开发最常见的是开发Restfull接口,相应的,为了和前端沟通就可能需要定义和维护一套接口文档,编写和维护文档往往需要花费相当的时间和精力。 Swagger是一套定义良好的接口文档规范,可以借助相关的API和工具,根据项目代码自动生成接口文档。 下面我们就给之前做的示例项目my_first_app用Swapper添加上接口文档的支持。 你可以从learn_spring_boot (github.com)获取之前的项目代码。 添加依赖 首先添加相关依赖: <!-- 引…

2022年5月5日 0条评论 1056点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 6:事务

图源:简书 (jianshu.com) 本篇文章的示例代码是在learn_spring_boot (github.com)基础上修改的,你可通过以上链接获取。 有时候,在执行SQL时,多条SQL之间具备某种关联性。比如要添加一个用户订单的同时要从商品表中将库存减少,这两个操作必须是“要么都成功,要么都失败”,如果用普通的两条SQL执行,就可能发生商品库存扣减了,订单没有生成,或者订单生成了,商品库存没有扣减。 在这种情况下,就需要将这两个SQL当做一个事务进行处理。一个事务中包含的SQL执行过程中如果产生错误,就会…

2022年5月5日 0条评论 947点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 7:生成框架代码

图源:简书 (jianshu.com) 之前在从零开始 Spring Boot 4:Mybatis Plus - 魔芋红茶's blog (icexmoon.cn)中介绍了如何在Spring Boot项目中使用Mybatis Plus。这需要手动实现很多类似于Mapper的中间类,之际上Mybatis Plus提供根据数据库自动生成相关框架代码的功能。 准备工作 首先,从Spring Initializr创建并下载一个新的Spring Boot项目。 当然也可以使用IDE工具直接生成。 为了演示自动生成代码,我设计…

2022年5月5日 0条评论 1023点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 5:SpringApplication

图源:简书 (jianshu.com) 我们的Spring Boot应用是通过SpringApplication.run启动的,启动后可以看到控制台输出欢迎信息以及一些日志信息,如果失败,也会显示相应的错误信息。 SpringApplication的主要工作是加载相关的配置,创建Web应用的上下文,以及启动应用等。 下面介绍和SpringApplication相关的Spring Boot特性。 本篇文章的演示代码基于learn_spring_boot (github.com)修改而来,你可以从相应的链接获取。 La…

2022年5月5日 0条评论 887点热度 0人点赞 魔芋红茶 阅读全文
Java编程笔记

Java编程笔记24:并发(4)

图源:PHP中文网 仿真 利用多线程可以编写仿真程序,实际上在Java编程笔记23:并发(3) - 魔芋红茶's blog (icexmoon.cn)中介绍的“赛马游戏”就是一个仿真程序。 这里我们介绍一个更复杂一点的仿真程序。 餐厅 假设我们有一个餐厅,有顾客、侍者、厨师这几个角色,顾客可以通过侍者来点菜,厨师根据订单来做菜,做好菜后由侍者将菜品送给顾客品尝。 package ch24.restaurant; ​ import java.util.ArrayList; import java.util.List;…

2022年5月4日 0条评论 1176点热度 0人点赞 魔芋红茶 阅读全文
Java编程笔记

Java编程笔记23:并发(3)

图源:PHP中文网 新类库中的构件 JavaSE 5 为并发添加了一些新的组件,这里简单介绍。 CountDownLatch 在编写并发程序时,有时候我们会启动多个线程执行某项工作,而主线程需要等待这些线程完成后在继续执行或者退出。如果是Go或者其它语言,此时就必须使用sync.WaitGroup这样的组件去计数和等待。 关于Go的多线程和sync.WaitGroup,可以阅读Go语言编程笔记7:goroutine和通道 - 魔芋红茶's blog (icexmoon.cn)。 实际上Java也有类似的组件——Co…

2022年5月3日 0条评论 1324点热度 0人点赞 魔芋红茶 阅读全文
Java编程笔记

Java学习笔记22:并发(2)

图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行。 公园入园 关于这点,《Thinking in Java》中有一个公园入园的示例:假设有一个公园,存在多个入口可以入园,现在用程序统计每个入口已进入的人数,以及总的已入园人数。 这可以看做是一个简单的模拟程序,显然多个入口入园是一个并发的过程,要用多个线程去模拟。而总的入园计数器需要在多个线程之间共享。 最终的代码如下: package ch22.e…

2022年5月2日 0条评论 1104点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 4:Mybatis Plus

图源:简书 (jianshu.com) 虽然上篇文章从零开始 Spring Boot 3:数据库 - 魔芋红茶's blog (icexmoon.cn)介绍了如何在Spring Boot中连接并使用数据库,但可以看到,默认提供的JdbcTemplate并不是很好用。 因此,本篇文章将介绍一个更好用的数据库连接组件MyBatis-Plus,并展示如何用在我们的示例中用MyBatis-Plus取代JdbcTemplate完成相关数据库操作。 你可以通过learn_spring_boot(github.com)获取本篇文…

2022年4月30日 0条评论 1164点热度 0人点赞 魔芋红茶 阅读全文
1…678910…23

魔芋红茶

加一点PHP,加一点Go,加一点Python......

专栏
  • SpringMVC 学习笔记 SpringMVC 学习笔记
  • MySQL学习笔记 MySQL学习笔记
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
    最新 热点 随机
    最新 热点 随机
    多显示器必知设置 auto-hot-key DEBUG:Lombok 失效 @Autowired 和 @Resource 的区别 Idea 安装与激活 前端学习笔记 3:Vue 工程
    Idea 安装与激活小米汽车的“挖孔门”启示录:当流量神车撞上消费者的放大镜前端学习笔记 1:js 导入导出前端学习笔记 2:Vue前端学习笔记 3:Vue 工程DEBUG:Lombok 失效
    Python学习笔记番外:模块开发中的debug Java编程笔记20:注解 虎头蛇尾,不及预期——《长津湖》 Java编程笔记18:I/O(续) Linux 之旅 19:启动流程、模块管理与loader 从零开始 Spring Boot 8:Swagger
    最近评论
    fuckbaidu 发布于 3 年前(02月26日) 兄弟,你新网址一直没备案成功
    啊长 发布于 3 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
    nfmd 发布于 4 年前(11月01日) 腾讯云出了个60块六年多的bug
    nfmd 发布于 4 年前(10月30日) str.replace("逻辑", "罗辑")
    fuckbaidu 发布于 4 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
    友情链接
    • NFMD's blog
    • 小金龙的blog
    • 幸哥的blog

    COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
    本网站由提供CDN加速/云存储服务

    Theme Kratos Made By Seaton Jiang

    宁ICP备2021001508号

    宁公网安备64040202000141号