spring boot实战
文章平均质量分 65
大盛玩java
https://javawu.com,微信搜索“javawu1024”,关注我们即可免费领取Java视频教程、电子资料、Mysql资料、Kubernetes及最新Java面试资料。
展开
-
分布式缓存redis,看这一篇就够了
redis是什么?简单来说redis是一个开源的使用ANSI C语言编写的内存数据库,使用key-value的数据结构。支持数据持久化到硬盘,支持多种api语言的连接。通常当做缓存处理。安装redisredis官网:https://redis.io 英语好的看官网,下载linux版本redisredis for windows: https://github.com/MicrosoftArchive/redis/releases ,windows版下载到本地直接安装即可使用。windo原创 2021-08-03 14:13:33 · 169 阅读 · 0 评论 -
异常这样处理,对用户更友好
在项目中,经常有一些业务需要抛出异常,但是如果后台直接抛出throw new Exception的话,前端就很难看,对用户提示也不够友好,今天我们就来解决这个问题。先建立一个工程,模拟将异常抛出。如下:@RestControllerpublic class DemoController { @GetMapping("test") public String test() throws Exception{ if(true){ throw n原创 2021-07-29 14:19:36 · 235 阅读 · 0 评论 -
配置文件这样写,多环境自由切换
在之前的章节中我们讲过yml配置文件,小伙伴们还记得吗?很好用,但是实际生产中会有很多问题。测试是一套配置,生产是一套配置;不同人开发不同的模块,共用一个yml文件容易发生冲突;本地开发需要本地化配置调试,本节咱们就把这些头疼的问题统统解决掉。首先我们建立一个工程,将application.properties文件后缀改成application.yml。name: 张三lesson: springbootdesc: ${name}同学正在努力学习${lesson}!!! #占位符.原创 2021-07-26 14:43:53 · 131 阅读 · 0 评论 -
十分钟!教你玩转SprintBoot定时任务
常用的定时任务有两种:基于注解基于接口基于注解@Scheduled@Servicepublic class Scheduling1Service { //每2秒执行一次(若上次任务执行时间超过2秒,则立即执行,否则从上一个任务开始时算起2秒后执行本次任务) @Scheduled(fixedRate = 2000) public void test1() throws InterruptedException { Thread.sleep(1000L)原创 2021-07-23 11:01:55 · 103 阅读 · 0 评论 -
过滤器、拦截器入门,看这一篇就够了
实际项目开发过程中,肯定有这样的需求:记录每个rest请求耗费的时间,入参,出参某些请求需要判断是否有权限,某些请求是不需要权限也可以运行的这个需求太普遍了。今天我们就一起来学习这个需求的两种实现方式:拦截器过滤器拦截器话不多说,咱们上代码,新建日志拦截器:@Componentpublic class LogInterceptor implements HandlerInterceptor { //在请求rest接口之前调用 @Override pu.原创 2021-07-12 16:32:27 · 117 阅读 · 0 评论 -
深入理解Java的继承特性
继承(Inheritance)学习完了Java封装和抽象两个特性,我们再来看继承特性。如果你熟悉的是类似 Java 、**C++**这样的面向对象的编程语言,那你对继承这一特性,应该不陌生了。继承是用来表示类之间的 is-a 关系,比如猫是一种哺乳动物。从继承关系上来讲,继承可以分为两种模式,单继承和多继承。单继承表示一个子类只继承一个父类,多继承表示一个子类可以继承多个父类,比如猫既是哺乳动物,又是爬行动物。为了实现继承这个特性,编程语言需要提供特殊的语法机制来支持,比如 Java 使用 exten原创 2021-07-09 15:49:45 · 120 阅读 · 0 评论 -
腾讯大佬总结的代码重构原则,看完再也不怕面试官问啦!
前言上一篇开闭原则最有用的代码改动是基于 “修改” 的方式来实现新功能的。如果我们遵循开闭原则,也就是 “对扩展开放、对修改关闭”。那如何通过 “扩展” 的方式,来实现同样的功能呢?重构我们先重构一下之前的 Alert 代码,让它的扩展性更好一些。重构的内容主要包含两部分:第一部分是将 check () 函数的多个入参封装成 ApiStatInfo 类;第二部分是引入 handler 的概念,将 if 判断逻辑分散在各个 handler 中。具体的代码实现如下所示:public原创 2021-07-08 16:52:51 · 157 阅读 · 0 评论 -
还在用httpclient请求接口?那你就out了
实际项目中免不了要跟其他系统交互,那就会涉及到接口调用,如果是自己本系统的还好,可以通过打jar包引用的方式放到本项目中直接调用。如果是其他系统的,那就需要通过远程接口调用,而远程接口调用通常使用两种方式调用其一是webservice接口,其二是rest接口(也就是对方给我们一个http链接地址)本文就来讲讲如何通过rest接口调用远程服务。在没有springboot之前,大家会想到使用httpclient去调用,没错,httpclient是一个很好的选择。但是springboot给我们.原创 2021-07-06 15:18:33 · 114 阅读 · 0 评论 -
文件这样上传,配置更灵活
文件上传新建一个项目,添加UploadController@RestControllerpublic class UploadController { @PostMapping("upload") public String post(@RequestParam("file") MultipartFile file){ if (file.isEmpty()) { return "上传失败,请选择文件"; }原创 2021-07-02 14:57:56 · 106 阅读 · 0 评论 -
如何理解Java设计模式中的单一职责原则?
我们在实际的项目过程中,如何理解Java设计模式的单一职责原则(SRP)?我们今天要学习的是 SOLID 原则中的第一个原则:单一职责原则。单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。这个原则的英文描述是这样的:A class or module should have a single reponsibility。如果我们把它翻译成中文,那就是:一个类或者模块只负责完成一个职责(或者功能)。注意,这个原则描述的对象包含两个,一个是类(clas原创 2021-07-01 16:10:48 · 121 阅读 · 0 评论 -
SpringBoot启动banner,竟然还能这么玩!
我们已经开始springboot几期了,大伙有没发现在启动工程的时候控制台会输出一段这样的东西:那这个可以改吗,可以改的B格高一点吗,答案是肯定的,下面跟这个我来改下。Spring Boot工程的resource目录下新建一个文本文件banner.txt用于存放自定义图案在里面敲入 hello springboot!看下控制台的输出:是不是变了?等等,不是说高B格吗,这个不够高。好!满足!打开网站http://patorjk.com/software/taag,在里面敲入sprin.原创 2021-06-30 16:17:56 · 76 阅读 · 0 评论 -
Spring注解这么写,团队协作效率至少提升1倍
@SpringBootApplication包含@Configuration、@EnableAutoConfiguration、@ComponentScan,通常放在主类上。@Controller标志是一个控制器类,需要与@RequestMapping配合使用。通常做前后端分离的项目用这个注解比较少,因为后端只返回json数据结构,而不是页面。@RestController该注解是@Controller和@ResponseBody的组合注解普通风格Rest风格@R原创 2021-06-29 16:42:44 · 64 阅读 · 0 评论 -
关于Mysql事务,你必须知道的几个知识点!
Transaction事务上期我们讲到了jpa的常用操作,查询、更新、删除等,但是如果在操作数据库事务时发生异常,数据会回滚吗?下面我们来看个例子UserController新增如下代码:@GetMapping("save1")public String save1(){ User user = new User(); user.setDptId(1L); user.setName("a"); user.setAge(18L); user.setEmai原创 2021-06-28 15:16:12 · 77 阅读 · 0 评论 -
如何优雅的实现Mysql 增删改查,看完你就会了
接着上期说,上期没写一条sql就把数据查询出来了,那如果要保存或者更新数据怎么办呢?能不能自己写sql呢?保存数据@GetMapping("save")//保存数据public void save(@RequestBody User user){ userJpa.save(user);}在UserController里面添加上面的方法。使用@RequestBody接收数据,然后调用userJpa的save方法保存数据,接下来我们用postman试下。执行之后到数据库去看下数据,.原创 2021-06-25 15:45:22 · 293 阅读 · 0 评论 -
使用Spring Data JPA 访问 Mysql 数据库-配置项
jpa操作数据库注意:数据库采用的是本机数据库,下面是建表语句及初始化数据:SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` bigint(0) NOT N原创 2021-06-23 16:07:01 · 200 阅读 · 0 评论