SpringBoot
文章平均质量分 90
流放深圳
让天下没有难写的代码
展开
-
SpringBoot 使用 CompletableFuture 实现非阻塞异步编程
在前面的博客:https://blog.csdn.net/BiandanLoveyou/article/details/83586356我们讲解了如何使用线程池Executor + Future +@Async 实现异步调用。今天讲解一个 JDK1.8 的异步类:CompletableFuture。什么是非阻塞异步编程?所谓非阻塞异步编程方法,简单地说,就是不用等待返回结果的多线程的回调方法的封装。相比于阻塞式异步回调方法,非阻塞异步编程方法使用一个监听器,这样在使用回调的过...原创 2021-06-26 15:46:19 · 9431 阅读 · 1 评论 -
《SpringBoot从入门到放弃》之第(十三)篇——使用@Async异步调用,ThreadPoolTaskScheduler线程池,使用Future以及定义超时
本篇博客是在上一篇《SpringBoot从入门到放弃》之第(十二)篇——使用@Async实现异步调用的基础上继续的。创建 TaskPoolConfig 类,配置线程池:package com.test.util;import org.springframework.context.annotation.Bean;import org.springframework.context....原创 2018-10-31 17:38:20 · 10041 阅读 · 4 评论 -
《SpringBoot从入门到放弃》之第(十二)篇——使用@Async实现异步调用
什么是异步调用?“异步调用”对应的是“同步调用”。异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序;同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行。如何选择?答:看场景使用。如果程序需要等上一个程序执行完,才能执行,就使用同步调用。比如:银行转账,必须等A用户转出到平台后,才能转入B账户。如果程序不需要等待上一个程序执行完...原创 2018-10-31 15:25:05 · 789 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(十一)篇——使用@Scheduled创建定时任务,cron七子表达式的简单使用
模拟场景:有时候,你需要每天某个点或者每周、每个月让程序做一些事情,如调用接口获取数据,比如生成数据的报表,或者统计一些数据之类,你除了可以在数据库创建存储过程,还可以写Java定时任务。O的K,接着上一篇的开发环境。《SpringBoot从入门到放弃》之第(十)篇我们创建一个定时任务的测试类 MyScheduledTask:package com.test.web;import...原创 2018-10-31 10:20:48 · 716 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(七)篇——JdbcTemplate访问数据库,postman 的下载、使用
为了测试方便,需要重新创建一个测试项目,以免受到之前测试项目的干扰,同时慢慢深入业务代码分离、为分布式开发做准备。配置数据源 ,在 pom.xml 添加依赖包(pom.xml里面的内容可以复制之前的): <dependency> <groupId>org.springframework.boot</groupId> <artif...原创 2018-10-18 10:48:18 · 278 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(十)篇——整合Redis(SpringBoot 2.0 版本),写于2018年10月24号程序员节。
在 pom.xml 配置中添加 jar 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>...原创 2018-10-24 17:33:41 · 706 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(六)篇——Spring Security进行安全控制
一个好的系统,几乎都离不开权限控制。要实现访问权限控制的方式有多种多样,可以通过AOP、拦截器实现,也可以使用Shiro框架。现在研究使用Spring Security。O的K,先创建一个无需权限的Web小例子。(本篇博客接着之前写的系列,已忽略环境配置,如pom.xml 的依赖等等)在 src/main/resources/static目录下创建 welcome.html 文件:&...原创 2018-10-17 11:28:55 · 398 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(九)篇——EhCache缓存
一个较大的项目,如果用户数量不断的增多,而程序里都是直接操作数据库的话,并定会造成数据库出现瓶颈,无法处理高并发的问题。此时使用缓存是解决问题的一个良好办法之一,读取缓存的数据的速度往往比连接数据库查询快很多。在 pom.xml 配置文件加上 jar 依赖: <dependency> <groupId>org.springframework.boot<...原创 2018-10-19 17:45:27 · 750 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(五)篇——统一异常处理
在平时的开发测试过程中,经常能看到下面的错误页面,该页面是SpringBoot提供的默认error映射页面,该页面如果直接传递给用户,那将非常的不友好,因此,我们通常需要去实现自定义的异常提示。创建全局异常处理类:通过使用@ControllerAdvice定义统一的异常处理类,而不是在每个Controller中逐个定义。@ExceptionHandler用来定义函数针对的异常类型,最后将Exc...原创 2018-10-16 14:59:46 · 299 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(四)篇——开发Web应用之模板Thymeleaf、FreeMarker
SpringBoot提供了默认配置的模板引擎主要有以下几种:Thymeleaf、FreeMarker、Velocity、Groovy、Mustache默认的创建SpringBoot项目时,开发工具就帮我们创建好了src/main/resources/static目录,该位置存放常用的静态资源,如js、css、图片等。src/main/resources/templates 存放模板文件。...原创 2018-10-15 16:18:37 · 400 阅读 · 1 评论 -
《SpringBoot从入门到放弃》之第(八)篇——SpringBoot整合Mybatis(大型项目开发技术首选)
一千个读者有一千个哈姆雷特。你们的项目中,倾向于把数据库的语句写在Java类里,还是使用Mybatis框架呢?相对来说,做一些复杂的大项目,用第三方开源的Mybatis会比较好。把数据库操作语句抽取出来,写在xml文件,方便管理。个人比较倾向于使用Mybatis,还有Mybatis的逆向工程,听说很好使,但本人还没用过,后续会加上博客,敬请期待吧!项目结构,标注的是新增的文件:...原创 2018-10-18 16:59:36 · 542 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(三)篇——构建简单的RESTFul API
RESTful:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。了解更多关于RESTful的信息Ajax 和 RESTful Web 服务本质上是互为补充的。它们都可以利用大量 Web 技术和标准,比如 HTML、JavaScript、浏览器对象、XML/JSON ...原创 2018-10-13 12:18:54 · 291 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(二)篇——配置文件详解、自定义属性、随机数、多环境配置、日志文件配置
老样子,写博客之前,先说个冷笑话以及理论知识:老婆打电话给程序员老公:“老公,下班后路过包子铺买一笼包子,遇到卖西瓜的买一个。”程序员到家后,递给老婆一个包子。老婆疑惑:“不是让你买一笼包子吗,你怎么只买了一个?”程序员回答:“因为我看到了卖西瓜的呀!”OK,问题来了:对于Spring框架的初学者来说,经常会因为一些繁琐的配置文件而却步,对于老手来说,每次新构建项目总是复制粘贴一些差不多的配置文件...原创 2018-06-12 16:18:10 · 496 阅读 · 0 评论 -
《SpringBoot从入门到放弃》之第(一)篇——HelloWorld
先说一个故事:本主毕业于北京时间2015年6月,凭着掌握Servlet、Struct2和一些JavaScript基础,以为可以仗剑走天涯。(此刻可以响起许巍的《曾经的你》),宿舍一大神早已玩腻了Spring。那些年,觉得会用框架的人真的是吊炸天——毕业5K。二流大学毕业,即使年年奖学金拿到手软,还是没被名企来校招。回过神来,他们已经在追求服务器端高大上的技术上,而我刚入门Spring。2016...原创 2018-06-11 16:43:55 · 1835 阅读 · 1 评论