2020
10-10
10-10
SpringBoot如何上传图片
1.前端准备<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><body><h1>实现文件长传</h1><!--enctype="开启多媒体标签"--><formac...
继续阅读 >
一.模拟问题最近在公司遇到一个问题,挂号系统是做的集群,比如启动了两个相同的服务,病人挂号的时候可能会出现同号的情况,比如两个病人挂出来的号都是上午2号.这就出现了问题,由于是集群部署的,所以单纯在代码中的方法中加锁是不能解决这种情况的.下面我将模拟这种情况,用redis做分布式锁来解决这个问题.1.新建挂号明细表2.在idea上新建项目下图是创建好的项目结构,上面那个parent项目是其他项目不用管它,和新建的没有关系3.开始创...
定制异常页面,可以避免用户产生恐慌心理,使得产品有更好的用户体验。今天来学习在SpringBoot中如何定制开发异常页面一、历史回顾在SpringMVC年代,我们的异常页面一般配置在web.xml文件中,如下:<!--配置404页面--><error-page><error-code>404</error-code><location>/error/404.html</location></error-page>这里我们指定了异常请求状态码404,然后配置了404异常请求的页面地址,这就意味着如果某一个请求...
说到导出Excel,我们首先会想到poi、jsxl等,使用这些工具会显得笨重,学习难度大。今天学习使用JeecgBoot中的Autopoi导出Excel,底层基于easypoi,使用简单,还支持数据字典方式一、开发前戏1、引入maven依赖<!--AutoPoiExcel工具类--><dependency><groupId>org.jeecgframework</groupId><artifactId>autopoi-web</artifactId><version>1.1.1</version><exclusions><exclusion><groupId>commons-c...
我们在日常的项目开发中,对于数据字典肯定不模糊,它帮助了我们更加方便快捷地进行开发,下面一起来看看在SpringBoot中如何实现数据字典功能的一、简介1、定义数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。数据字...
在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护接口文档使得项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发,项目维护中或者项目人员更迭,方便后期人员查看、维护一、界面先赏1、首页2、接口文档3、调试二、整合knife4j1、引入maven依赖<!--knife4j接口文档start--><dependency><groupId...
最近在做一个项目,遇到了项目打成war包的一个问题,项目创建时选择的时jar包方式,后因项目部署要求,需要打成war包部署,遇到很多坑,在此做一下记录一、修改打包方式原:<version>0.0.1-SNAPSHOT</version><packaging>jar</packaging>改后:<version>0.0.1-SNAPSHOT</version><packaging>war</packaging>二、排除内置Tomcat原:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-sta...
我们在项目中会用到项目启动任务,即项目在启动的时候需要做的一些事,例如:数据初始化、获取第三方数据等等,那么如何在SpringBoot中实现启动任务,一起来看看吧SpringBoot中提供了两种项目启动方案,CommandLineRunner和ApplicationRunner一、CommandLineRunner使用CommandLineRunner,需要自定义一个类区实现CommandLineRunner接口,例如:importorg.springframework.boot.CommandLineRunner;importorg.springframew...
一、背景SpringBoot为我们快速开发提供了很好的架子,使得我们只需要少量配置就能开始我们的开发工作,但是当我们需要打包上传部署时,却是很神伤的一个问题,因为打出来的Jar包少则十几兆,多则一百来兆,我们需要上传至公网服务器时,是非常慢的,这就引出了今天的主题,SpringBoot项目Jar包如何瘦身部署1、思路分析jar,我们可以看出,jar包里面分为以下三个模块分为BOOT-INF,META-INF,org三个部分,打开BOOT-INF可以...
1.1、获取http请求参数是一种刚需我想有的小伙伴肯定有过获取http请求的需要,比如想前置获取参数,统计请求数据做服务的接口签名校验敏感接口监控日志敏感接口防重复提交等等各式各样的场景,这时你就需要获取HTTP请求的参数或者请求body,一般思路有两种,一种就是自定义个AOP去拦截目标方法,第二种就是使用拦截器。整体比较来说,使用拦截器更灵活些,因为每个接口的请求参数定义不同,使用AOP很难细粒度的获取到变...
我们在开发Java项目的时候,经常需要对参数进行一些必填项、格式、长度等进行校验,如果手写代码对参数校验,每个接口会需要很多低级的代码,这样会降低代码的可读性。那么我们能不能使用一种比较优雅的方式来实现,对请求中的参数进行校验呢?knife4j的安装与使用可参考我的博客:SpringBoot使用knife4j进行在线接口调试正文ValidationApi框架就是用来解决参数校验中代码冗余问题,ValidationApi框架提供一些注解用来帮助我们对请...