返回
hibernate-validator的基本使用
hibernate-validator的基本使⽤validator是⽤来校验参数使⽤!⼀般来说校验参数的⼯作可以放在前端去执⾏,但是假如有⼈不经过前端直接调⽤后端的接⼝呢?很可能就出现⾮法数据⽽导致⼀些问题,所有服务端也要做数据的校验。前端校验是为了提⾼⽤户的体验度,后端校验则是为了保证数据的安全性。校验参数基本上是⼀个体⼒活,⽽且冗余代码繁多,也影响代码的可读性,我们需要⼀个⽐较优雅的⽅式来解决...
java.lang.Void类的解析与使用详解
java.lang.Void类的解析与使⽤详解今天在查看源码的时候发现了 java.lang.Void 的类。这个有什么作⽤呢?springboot实现aop先通过源码查看下package java.lang;/*** The {@code Void} class is an uninstantiable placeholder class to hold a* reference to the...
java中Optional的使用详细解析
java中Optional的使⽤详细解析⽬录Optional的使⽤详解2、构建Optional3、Optional API 及源码注解4、测试使⽤4.1、构建4.2、判断类4.3、获取类(常⽤)4.4、转换类4.5、测试API使⽤Optional的使⽤详解1、Optional介绍Optional 类是⼀个可以为null的容器对象。如果值存在则isPresent()⽅法会返回true,调⽤get()...
java aop dobefore中直接返回前端参数
java aop dobefore中直接返回前端参数在使用Java编写应用程序时,我们经常需要使用AOP(面向切面编程)来处理一些横切关注点,如日志记录、性能监测等。其中,AOP的一个常见应用是在方法执行前执行一些操作,这个操作被称为"doBefore"。在"doBefore"中,我们可以对前端传递的参数进行处理,并且还可以对其进行验证或者修改,然后再继续执行后续的业务逻辑。然而,有些情况下,我们...
AspectJ AOP实现
AspectJ AOP实现Spring AspectJ方式提供了在代码中进行AOP的方式,宜于集中化管理PointCut,不用再写好代码后,在xml中配置一大串。AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件.AspectJ语法通配符* 表示任何数量的字符,除了... 表示...
Spring配置AOP切入点execution详解
Spring配置AOP切⼊点execution详解例: execution (* com.sample.service..*. *(..))整个表达式可以分为五个部分:1、execution()::表达式主体。2、第⼀个*号:表⽰返回类型, *号表⽰所有的类型。3、包名:表⽰需要拦截的包名,后⾯的两个句点表⽰当前包和当前包的所有⼦包,com.sample.service包、⼦孙包下所有类的⽅法。4...
springboot返回前端中文乱码的解决
springboot返回前端中⽂乱码的解决尝试了各种防⽌中⽂乱码的⽅式,但是还是乱码;最后还是细节问题导致;解决⽅式:以及俩种⽅式是百度的,我的问题不是这俩块1.在requestMapping 中添加 produces@RequestMapping(value = "/login",produces = "application/json;charset=utf-8",method = Reque...
SpringBootSecurity前后端分离登录验证的实现
SpringBootSecurity前后端分离登录验证的实现最近⼀段时间在研究OAuth2的使⽤,想整个单点登录,从⽹上了很多demo都没有实施成功,也许是因为压根就不懂OAuth2的原理导致。有那么⼏天,越来越没有头绪,⼜不能放弃,转过头来⼀想,OAuth2是在Security的基础上扩展的,对于Security⾃⼰都是⼀⽆所知,⼲脆就先研究⼀下Security吧,先把Security搭建起来...
如何实现springboot中controller之间的相互调用
如何实现springboot中controller之间的相互调⽤springboot controller之间相互调⽤SpringBoot之间内部调⽤@Autowiredprivate RestTemplate restTemplate ;//⾃动装配restTemplate-------------------返回json字符串类型--------------------------------...
SpringBoot常用工具类
SpringBoot常⽤⼯具类1.CookieUtils提供对于Cookie的存取以及编码设置的⼯具类-2.MD5Utils实现MD5加密⼯具类-3.JsonUtils⽀持对List、Map、Pojo等或Json对象互转-springboot原理pdf4.PageR esult对分页的参数进⾏封装(鸡肋)-5.后台返回结果实例化返回值status-返回状态msg-消息情况data-返回结果集-6....
SpringBoot开启异步调用方法
SpringBoot开启异步调⽤⽅法异步调⽤⽆需等待,⽅法相当于⼦线程,后台执⾏,主线程执⾏完成,⼦线程开始执⾏。SpringBoot 开启异步执⾏仅需两步:⽅法上加 @Async@Override@Async@Transactional(rollbackFor = Exception.class)public Integer init(DatePojo datePojo){springboot原...
SpringBoot优雅的实现图片返回
SpringBoot优雅的实现图⽚返回springboot原理图解废话少说,直接⼲货:前提:添加图⽚转换器@Configurationpublic class WebMvcConfig implements WebMvcConfigurer {/*** 增加图⽚转换器* @param converters*/@Overridepublic void extendMessageConverters(...
springboot使用@Async异步注解,原理+源码
springboot使⽤@Async异步注解,原理+源码1、java的⼤部分接⼝的⽅法都是串⾏执⾏的,但是有些业务场景是不需要同步返回结果的,可以把结果直接返回,具体业务异步执⾏,也有些业务接⼝是需要并⾏获取数据,最后把数据聚合在统⼀返回给前端。通常我们都是采⽤多线程的⽅式来实现上述业务功能,但spring 提供更优雅的⽅式来实现上述功能,就是@Async 异步注解,在⽅法上添加@Async,sp...
mock测试及jacoco覆盖率
mock测试及jacoco覆盖率单元测试是保证项⽬代码质量的有⼒武器,但是有些业务场景,依赖的第三⽅没有测试环境,这时候该怎么做Unit Test呢,总不能直接⽣产环境硬来吧?可以借助⼀些mock测试⼯具来解决这个难题(⽐如下⾯要讲的mockito),废话不多说,直奔主题:⼀、准备⽰例Demo假设有⼀个订单系统,⽤户可以创建订单,同时下单后要检测⽤户余额(如果余额不⾜,提醒⽤户充值),具体来说,⾥...
RestTemplate调用第三方接口实现方式
RestTemplate调⽤第三⽅接⼝实现⽅式stTemplate;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.spring...
springboot2.0fastjson日期格式化不生效解决
springboot2.0fastjson⽇期格式化不⽣效解决⽹上有很多介绍,主要有两种。1.在启动类中注⼊bean/*** 集成fastjson** @return*/@Beanpublic HttpMessageConverters fastJsonHttpMessageConverters() {// 1. 需要定义⼀个converter转换消息的对象FastJsonHttpMessageC...
使用SpringAOP和自定义注解统一API返回值格式
使⽤SpringAOP和⾃定义注解统⼀API返回值格式摘要:统⼀接⼝返回值格式后,可以提⾼项⽬组前后端的产出⽐,降低沟通成本。因此,在借鉴前⼈处理⽅法的基础上,通过分析资料,探索建⽴了⼀套使⽤Spring AOP和⾃定义注解⽆侵⼊式地统⼀返回数据格式的⽅法。§前⾔ 我们封装所有的Controller中接⼝返回结果,将其处理为统⼀返回数据结构后,可以提⾼前后端对接效率,降低沟通成本。⽽使...
SpringBoot使用minio及配置代码
SpringBoot使⽤minio及配置代码⽬录1、导⼊ minio jar包2、配置3、实现MinIO是⼀个开源的对象存储服务。适合于存储⼤容量⾮结构化的数据,例如图⽚、视频、⽇志⽂件、备份数据和容器/虚拟机镜像等,⽽⼀个对象⽂件可以是任意⼤⼩,从⼏kb到最⼤5T不等。MinIO是⼀个⾮常轻量的服务,可以很简单的和其他应⽤的结合,类似 NodeJS, Redis 或者 MySQL。1、导⼊ mi...
SpringbootActuator之七:actuator中原生endpoint源码解析1
SpringbootActuator之七:actuator中原⽣endpoint源码解析1看actuator项⽬的包结构,如下:本⽂中的介绍Endpoints。Endpoints(端点)介绍Endpoints 是 Actuator 的核⼼部分,它⽤来监视应⽤程序及交互,spring-boot-actuator中已经内置了⾮常多的Endpoints(health、info、beans、httptra...
SpringMVC之ModelAndView的用法(转)
SpringMVC之ModelAndView的⽤法(转)(⼀)使⽤ModelAndView类⽤来存储处理完后的结果数据,以及显⽰该数据的视图。从名字上看ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作⽤。业务处理器调⽤模型层处理完⽤户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAnd...
10、@Controller跟@RestController注解的使用
10、@Controller跟@RestController注解的使⽤测试两个注解定义的类中⽅法的返回值:@Controller:定义⼀个控制器类,@RestController:注解相当于 @Controller + @ResponseBody 合在⼀起的作⽤。@ResponseBody:标记Controller类中的⽅法。把return的结果变成JSON对象返回。 &...
Bean的作用域介绍(Singleton与prototype)
Bean的作用域介绍(Singleton与prototype)Spring Bean作用域介绍:singleton:Spring Ioc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例Property: 每次请求都创建一个新实例request: 在一次Http请求中,容器会返回该Bean的同一个实例,而对于不同的用户请求,会返回不...
SpringBoot的DeferredResult案例:DeferredResult的超时处理方式
SpringBoot的DeferredResult案例:DeferredResult的超时处理⽅式DeferredResult的超时处理,采⽤委托机制,也就是在实例DeferredResult时给予⼀个超时时长(毫秒),同时在onTimeout中委托(传⼊)⼀个新的处理线程(我们可以认为是超时线程);当超时时间到来,DeferredResult启动超时线程,超时线程处理业务,封装返回数据,给Def...
springboot-配置多个数据源
springboot-配置多个数据源1、创建⼀个datasource包,新建DataSource1,DataSource2两个⽂件,通过注解来配置数据源DataSource1:package com.springboot.datasource;import org.apache.ibatis.session.SqlSessionFactory;batis.spring.S...
Spring中FactoryBean的应用
FactoryBean接口定义了以下3个接口方法: Object getObject():返回有FactoryBean创建的Bean实例,如果isSingleton()返回true,则该实例会放到Spring容器的单实例缓存池中。 boolean isSingleton():确定由FactoryBean创建Bean的作用域是singleton还是protot...
springboot的事务回滚问题
springboot的事务回滚问题在springboot中开启事务:在传统的xml配置⽂件中(spring传统)进⾏事务配置,然后开启事务。不过现在只需要在业务层(service)类上添加@Transactional注解即可开启事务管理。在@Transactional注解中可以配置只读事务、回滚触发的异常等。问题:配置了回滚触发的异常:rollbackfor = {Exception.class}...
基于Web应用防护系统的SQL注入漏洞检测方法、装置、终端及介质_百度文 ...
(19)中华人民共和国国家知识产权局(12)发明专利说明书(10)申请公布号 CN 114157476 A(43)申请公布日 2022.03.08(21)申请号 CN202111450884.7(22)申请日 2021.12.01(71)申请人 上海钧正网络科技有限公司 地址 201199 上海市闵行区秀文路898号1幢501室(72)发明人 杨磊 张何钫 (74)专利代...
SpringBoot项目中处理返回json的null值(springboot项目为例)_百度文 ...
SpringBoot项⽬中处理返回json的null值(springboot项⽬为例)在后端数据接⼝项⽬开发中,经常遇到返回的数据中有null值,导致前端需要进⾏判断处理,否则容易出现undefined的情况,如何便捷的将null值转换为空字符串?以SpringBoot项⽬为例,SSM同理。1、新建配置类(JsonConfig.java)import com.fasterxml.jackson.c...
SpringBoot集成基于tobato的fastdfs-client实现文件上传下载和删除_百 ...
SpringBoot集成基于tobato的fastdfs-client实现⽂件上传下载和删除1. 简介 基于tobato的fastdfs-client是⼀个功能完善的FastDFS客户端⼯具,它是在FastDFS作者YuQing发布的客户端基础上进⾏了⼤量的重构,提供了上传、下载、删除、⽣成缩略图等API。2. 安装FastDFS3. ⽰例代码创建⼯程修改l<proj...
springboot返回页面
springboot返回页⾯1、使⽤@Controller注解:@Controller必须配合模板先导⼊依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></d...