
SpringMVC/boot/cloud
文章平均质量分 65
石头wang
平凡码农,强迫症,抠细节。
展开
-
springboot,spring框架返回204 status code的时候,会吞掉返回值
发现有个有意思的现象,就是当你的接口返回204的 HTTP status code 的时候,会自动把 response body 吃掉,即使代码里是有返回的。:如果去掉204那行,则返回200,则。原创 2023-11-10 07:41:59 · 752 阅读 · 0 评论 -
spring.profiles.include 跟 spring.profiles.active 的区别
spring.profiles.include 跟 spring.profiles.active 的区别原创 2023-03-10 12:20:03 · 1997 阅读 · 1 评论 -
请求springboot接口的路径不存在,如何自定义status code和返回的JSON格式
如果你有个springboot项目,如果访问它不存在的endpoint,会得到404状态码,并且如下的错误信息**我能否自定义这个信息呢?**用我自己的 JSON 对象以及状态码可以吗?比如我要改成200,改成如下字段能想到的就是拦截器之类的方式。原创 2022-10-04 21:12:03 · 2885 阅读 · 0 评论 -
什么异常能被 @RestControllerAdvice 或 @ControllerAdvice 捕获,什么情况不能被捕获?
什么异常能被 @RestControllerAdvice 或 @ControllerAdvice 捕获,什么情况不能被捕获?原创 2022-10-04 14:30:10 · 3103 阅读 · 1 评论 -
关于启动springboot如果指定多个profile时相同配置的覆盖规律
关于启动springboot如果指定多个profile时相同配置的覆盖规律原创 2022-09-02 08:30:00 · 1448 阅读 · 0 评论 -
关于Springboot的@Profile的写法以及多个profile的写法排坑(“!profile1 && !profile2“ 的写法)
关于Springboot的@Profile的写法以及多个profile的写法排坑("!profile1 && !profile2" 的写法)原创 2022-09-02 08:30:00 · 2665 阅读 · 1 评论 -
启动springboot的JPA项目爆出javax.interceptor.InterceptorBinding not found,用错了包名下的@Transactional
引入的@Transactional注解的包错了,不是javax.annotation.Transactional,是spring的(org.springframework.transaction.annotation.Transactional。更多项目的细节使用了@Transactional注解(因为JPA的Repository类自定义的update/delete方法必须加上@Transactional(或者在上一层Service层加,总之执行过程必须有,否则运行时出现异常)...原创 2022-07-28 18:22:52 · 479 阅读 · 0 评论 -
关于 Spring 中带的这个类 ResponseEntity 类的使用
关于 Spring 中带的这个类 ResponseEntity 类的使用,这个类可以改变响应的 HTTP status code,无需使用 HttpServletResponse 这么麻烦。package com.example.demo.rest;import lombok.extern.slf4j.Slf4j;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;im原创 2021-12-24 21:15:00 · 941 阅读 · 0 评论 -
spring静态变量如何注入
spring静态变量如何注入背景这种写法,是注入不了的,结果打印 null 值@SpringBootTest@RunWith(SpringRunner.class)public class MyTest { @Autowired private static ApplicationContext applicationContext; @Test pub...原创 2019-12-13 11:47:07 · 1294 阅读 · 1 评论 -
如何获取HttpServletRequest,通过静态方法获取request和response
对于spring项目(springmvc,springboot),通过静态的工具类获取request和response会非常方面。方法如下package com.wyf.test.test;import org.springframework.web.context.request.ServletRequestAttributes;import org.springframework.web...原创 2019-12-13 14:25:41 · 3864 阅读 · 0 评论 -
springboot项目如何打包给其他项目引用
背景springboot项目要怎么打包,才能被其他项目GAV引入? 打成springboot的可运行jar是不行的,要用maven插件打包。例子springboot项目被 mvn install 打包并安装到本地maven仓库后,被另外一个springboot项目引入,引入后发现JAR包存在却无法import JAR包中的类的问题。详细情况如下两个项目A(springboot)B(s...原创 2020-03-21 09:54:45 · 4154 阅读 · 0 评论 -
关于filter/springinterceptor/aop的拦截顺序
背景关于filter/springinterceptor/aop的加载顺序。filter指继承javax.servlet.Filter的;springinterceptor是spring里的拦截器,实现HandlerInterceptor的;aop是指@Aspect注解的类这三种都可以拦截对controller方法进行拦截。那拦截顺序是怎么样的?结论顺序是分级的,filter/spring...原创 2020-03-21 09:27:20 · 4203 阅读 · 1 评论 -
单元测试相关:spring test、mockito、h2
单元测试相关:spring test、mockito、h2背景本文讨论单元测试,在单测中遇到的迷惑。单测中测一次就删除数据下次就没法再测怎么办,第三方的接口很不稳定我们要怎么测,整个业务规则这么多限制和要求怎么办? 你领导压缩工期没有足够单测的时间怎么办?关于mockito和h2相关的,后续再发文,敬请不要期待,later is never~啰嗦先总结一波目前单测遇到的问题,比较杂,想到...原创 2020-03-09 17:53:07 · 943 阅读 · 1 评论 -
两springboot项目宿主项目引入另一个项目(jar)的相关问题
有两个项目A、B,都是springboot项目,A项目打包后被B引用(B通过maven坐标引用A)配置B项目为启动时,将A中的controller、aspect、filter、springinterceptor等初始化(就是启动类@ComponentScan增加jar包里的类的路径)当访问 /user/test 时(属于本项目),会不会被 aspect、filter、springinterce...原创 2020-03-20 16:37:36 · 2047 阅读 · 0 评论 -
关于Environment读取变量,Yaml类读取yml文件,yml中list的写法
测试yml文件的读取,以及Environment的apiEnvironment 是spring 自带的类,可用于读取变量的值、profileYaml(org.yaml.snakeyaml.Yaml) 也是spring框架自带的类,用来读取yml文件yml文件有些平时比较少用的写法# 这是最普通的写法abc: def: my_value# 可以压缩,写成abc.def: my_value# 对于特别长的,这种扁平的压缩的写法是非常清晰明了的,如果采用yml的层级写法,反而会非常乱o原创 2020-06-22 14:56:17 · 4258 阅读 · 1 评论 -
关于Spring中的BeanUtils的使用的细节和由此导致的巨坑
关于Spring中的BeanUtils的使用的细节和由此导致的巨坑前言本文研究关于spring带的BeanUtils的坑。即 BeanUtils.copyProperties 的使用注意点结论:名字要相同类型要相同(primitive type和对应包装类同)Source必须有getter,且必须publicTarget必须有setter,且必须publicSource中有st...原创 2020-04-22 15:29:45 · 2204 阅读 · 0 评论 -
springboot+Swagger2最佳实践和使用规范
springboot整合Swagger2,swagger使用最佳实践和使用规范1. 前言本文讨论swagger的使用,以及一些最佳实践。认真看完,你会有收获的本文的swagger版本是:2.9.2(不同版本UI界面可能不同)swagger2和1,因为2的版本可能对比1升级比较大,所以叫2,其实还是swagger2. 使用手册2.1 准备先准备基础的知识。传参一般使用两种方式键...原创 2020-03-13 16:37:11 · 4685 阅读 · 0 评论 -
springcloud+swagger微服务环境下实现文档管理
springcloud+swagger微服务环境下实现文档管理需求springcloud是多个模块的,怎么用Swagger管理接口呢?比如我的微服务有以下模块eurekagateway(zuul)user-serviceorder-service其中user和order模块需要暴露swagger文档,那方案一:通过网关聚合成一个文档,通过分组来切换不同模块...原创 2020-03-15 14:32:37 · 812 阅读 · 0 评论 -
springboot整合Swagger2,实现对接口的版本管理
springboot整合Swagger2,实现对接口的版本管理需求测试同学有需求,对于接口,之前的版本是1.0,现在是1.1版本,我想要知道1.1新增了什么接口,或者说修改了什么接口,怎么办?细化需求我们用分组来实现,分组在代码里就是 Docket,如图我们希望有一个默认的分组,所有的接口都放在这里,并且是排在最前面的被标记的接口能归类到 v2.7.3里一个接口可以同时被归类到多...原创 2020-03-14 16:11:50 · 2221 阅读 · 0 评论 -
为什么springboot项目启动的时候,没有打印出端口号的信息
概述为什么springboot项目启动的时候,没有打印出端口号的信息。下面我说下我遇到的情况。我遇到的情况是打印启动端口号的类org.springframework.boot.web.embedded.tomcat.TomcatWebServer 被设置成warn级别(<logger name="org.springframework" level="WARN"/>),而控制台的日...原创 2019-12-19 15:54:35 · 5271 阅读 · 0 评论 -
jsr303,hibernate validator的注解使用教程和爬坑(一篇懂)
jsr303,hibernate validator的注解使用教程和爬坑(一篇懂)本文研究 jsr303 的验证框架,hibernate-validator。前言jsr303是Java规范,是一套验证框架的规范,定义了一些列的注解,hibernate-validator是其实现。springboot 自带 hibernate validator 框架,spring-boot-starter...原创 2019-12-25 21:22:35 · 821 阅读 · 0 评论 -
如何整合 springboot + mybatis-plus(系列一)
如何整合 springboot + mybatis-plus(系列一)背景整合 springboot + mybatis-plus,其实就是整合 springboot + mybatis + mybatis-plus,本来 mybatis-plus 就能自动包含 mybatis步骤非常简单,用 IDEA 新建项目,选择 Spring Initializr 的项目, Custom 填入 https://start.aliyun.com/,利用阿里的开发的模板进行创建勾选 lombok,原创 2021-07-23 08:22:16 · 231 阅读 · 0 评论 -
关于actuator:搭建步骤,常用地endpoint
详细参考http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html(非常完整、权威的资料)说明研究springboot的actuator步骤使用actuator的步骤(基于springboot 2.2.5.RELEASE 版本,如果比较老的版本,可能有些差异,比如在endpoint上我记得是直接访问/be...原创 2020-03-30 15:35:25 · 505 阅读 · 0 评论 -
关于 @Conditional 注解
关于 @Conditional 注解背景在我们项目中,有时候需要实现这样的需求。我有个接口I,接口的实现类有A、B,我需要的效果是通过不同的配置,实例化具体某个实现类,即可以选择实例化A或B在spring中,有个注解 @Conditional 可以实现这个要求。我们先来最简单的例子11、例子1接口1个public interface PrinterService { Strin...原创 2020-03-03 20:30:28 · 326 阅读 · 0 评论 -
spring AOP使用和注意事项
spring AOP使用和注意事项本项目研究spring的AOP官方参考文档https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/core.html#aop项目说明(本文是一个测试项目的 README.md 文件,如果找不到代码,那就是没有提供代码,懒得上传GitHub)例子1com....原创 2020-02-18 21:48:26 · 826 阅读 · 0 评论