202101-22 Springboot实现XSS漏洞过滤的示例代码 背景前阵子做了几个项目,终于开发完毕,进入了测试阶段,信心满满将项目部署到测试环境,然后做了安全测评之后.....(什么!你竟然说我代码不安全???)然后测出了Xss漏洞安全的问题解决方案场景:可以在页面输入框输入JS脚本,攻击者可以利用此漏洞执行恶意的代码!问题演示所以我们要对于前端传输的参数做处理,做统一全局过滤处理既然要过滤处理,我们首先需要实现一个自定义过滤器总共包含以下四... 继续阅读 >
202101-22 SpringBoot快速迁移至Quarkus的方法步骤 Quarkus是一个目前非常火的Java应用开发框架,定位是轻量级的微服务框架。,Quarkus提供了优秀的容器化整合能力,相较于传统开发框架(SpringBoot)有着更快的启动速度、更小的内存消耗、更短的服务响应。本文将演示将SpringBoot迁移至QuarkusSpringBoot示例程序使用JPA完成数据库的增删改查操作,基础代码如下maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-... 继续阅读 >
202101-21 关于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服务传输的问题 大家好,因为近期做需求中遇到了文件上传这个东西,而且我这个还是跨服务去传输文件的所以我这边使用了httpclient和RestTemplate去做,但是最后还是用的httpclient。feign和RestTemplate在超大文件下会OOM所以适用于小文件传输我这边测试的在1G以下。httpclient好像是无限哈哈哈。(具体多少大家有时间可以去测一下)1.被调用服务的Controller1.这块使用@RequestParam(“file”)或者@RequestPart(“file”)都是可以接到参数的。2.(“f... 继续阅读 >
202101-21 解决SpringBoot在后台接收前台传递对象方式的问题 问题描述前台传递对象,不管是通过ajax请求方式,还是axios请求方式。后台应该怎么接收对象处理呢?比如前台传递ajax方式:$.ajax({url:"后台的方式",async:false,type:"POST",dataType:"json",data:JSON.stringify(formParamObj),contentType:'application/json;charset=utf-8',success:function(data){if(data.isSuccess){//成功处理方式}elseif("403"==data){//失败方式处理}}});axios方... 继续阅读 >
202101-21 springboot定时任务详解 在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容,SpringBoot默认已经帮我们实行了,只需要添加相应的注解就可以实现一、基于注解(静态)1、pom包配置pom包里面只需要引入SpringBootStarter包即可<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId... 继续阅读 >
202101-21 SpringBoot的DeferredResult案例:DeferredResult的超时处理方式 DeferredResult的超时处理,采用委托机制,也就是在实例DeferredResult时给予一个超时时长(毫秒),同时在onTimeout中委托(传入)一个新的处理线程(我们可以认为是超时线程);当超时时间到来,DeferredResult启动超时线程,超时线程处理业务,封装返回数据,给DeferredResult赋值(正确返回的或错误返回的)。这个实例可以对上一个实例的代码稍作改动即可。一、增加超时处理任务TimeOutWorkpackagecom.example;importorg.sl... 继续阅读 >
202101-21 基于springboot 长轮询的实现操作 springboot长轮询实现基于@EnableAsync,@Sync@SpringBootApplication@EnableAsyncpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}@RequestMapping("/async")@RestControllerpublicclassAsyncRequestDemo{@AutowiredprivateAsyncRequestServiceasyncRequestService;@GetMapping("/value")publicStringgetValue(){Stringmsg=... 继续阅读 >
202101-21 IDEA Spring Boot 自动化构建+部署的实现 本文所有操作都基于AlibabacloudToolkit进行操作。1.插件安装在插件市场中下载安装。在IntelliJIDEA顶部菜单栏中选择File>Settings。在Settings对话框的左侧导航栏中单击Plugins。在Plugins区域单击Marketplace。在搜索栏中输入AlibabaCloudToolkit。SearchResults区域会出现AlibabaCloudToolkit,单击Install。等待下载、安装完成后,单击RestartIDE。填写邀请码邀请码:6ERULV2.配置服务器地址添加服务器。在IntelliJ... 继续阅读 >
202101-21 SpringBoot整合JDBC的实现 简介JDBC是最原基本的连接数据源的方式,在springboot中所有和数据源有关系的都在SpringData家族中,所以我们看看springboot中如何使用JDBC来实现对数据库的增删改查操作。简单使用引入依赖这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖:<dependencies><!--jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starte... 继续阅读 >
202101-17 从零开始搭建springboot+springcloud+mybatis本地项目全过程(图解) 记录一下从零开始搭建一个springboot+springcloud+mybatis本地项目的demo的过程。纯代码小白一枚,若有不足或错误之处,欢迎广大朋友指出!开发环境准备:IDE:IntelliJIdea2019.3数据库:mysql8.0.2.2SpringBoot版本:2.2.0.RELEASESpringCloud版本:Hoxton.RELEASE一、创建一个新的Idea项目打开Idea,单击New->File->Project,选择Maven,直接下一步输入我们的项目名,我这里起名为pam,单击Finish完成创建二、右键单击projec... 继续阅读 >
202101-14 SpringBoot中使用Servlet三大组件的方法(Servlet、Filter、Listener) 本篇主要讲解SpringBoot当中使用Servlet三大组件,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!三大组件作用1、ServletServlet是用来处理客户端请求的动态资源,也就是当我们在浏览器中键入一个地址回车跳转后,请求就会被发送到对应的Servlet上进行处理。Servlet的任务有:1、接收请求数据:我们都知道客户端请求会被封装成HttpServletRequest对象,里面包含了请求头、参数等各种信... 继续阅读 >
202101-14 SpringBoot+Tess4j实现牛逼的OCR识别工具的示例代码 前言“等不到风中你的脸颊眼泪都美到很融洽等不到掩饰的雨落下我的眼泪被你察觉”听着循环的歌曲,写着久违的bug。好吧,还是一天。正好一个小伙伴说,要不要做个工具站玩一下。我就随意的找了个工具站,看了下,发现很多都有文字的OCR识别功能。因此,我想起来之前了解的非常流行的开源的OCR大神级别的项目,TesseractOCR。简单介绍官网如下所示tesseract-ocr.github.io/简洁明了,挂在github上的网站。详细的不再介绍,感兴趣... 继续阅读 >
202101-14 springboot整合Shiro的步骤 1.创建一个springboot项目选中web和thymeleaf1.1新建index.html<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1>首页</h1> <p th:text="${msg}"></p></body></html>1.2创建一个controllerpackage com.yao... 继续阅读 >
202101-14 spring boot动态切换数据源的实现 当数据量比较大的时候,我们就需要考虑读写分离了,也就是动态切换数据库连接,对指定的数据库进行操作。在spring中实现动态的切换无非就是利用AOP实现。我们可以使用mybatis-plus作者开发的插件dynamic-datasource-spring-boot-starter。demo地址:https://github.com/songshijun1995/spring-boot-dynamic-demo新建项目引入依赖<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starte... 继续阅读 >
202101-13 SpringBoot整合log4j日志与HashMap的底层原理解析 一,SpringBoot与日志1.springboot整合log4j日志记录1.在resources目录下面创建日志文件,并引入:代码如下(示例):#log4j.rootLogger=CONSOLE,info,error,DEBUGlog4j.rootLogger=info,error,CONSOLE,DEBUGlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}[%t][%c][%p]-%m... 继续阅读 >
202101-13 Springboot集成第三方jar快速实现微信、支付宝等支付场景 前言最近有个小型的活动外包项目,要集成一下支付功能,因为项目较小,按照微信官方文档的配置开发又极容易出错,加上个人又比较懒。于是在gitee上找到一个封装好的各种支付场景业务,只需要自己将支付参数修改一下就能成功调起支付业务,实现真正的快速开发。一、项目地址官方网站:https://javen205.gitee.io/ijpay/Gitee仓库:https://gitee.com/javen205/IJPay官方示例程序源码:https://gitee.com/javen205/IJPay/tree/... 继续阅读 >