SpringBoot
文章平均质量分 92
ShuSheng007
人活着要有梦想,万一实现了呢!
展开
-
秒懂SpringBoot之如何获取线上服务的build与git信息
最近团队遇到一个问题,发现通过CI/CD发布的服务里面不包含自己的功能代码,于是两个小哥就开始扯皮了:开发说他的代码没有部署上去,运维说他已经部署了,于是两小哥相爱相杀了一下午。难道就没有办法获取线上服务的当前版本信息吗?例如服务版本,构建时间,git提交记录等等。答案是肯定的,我们今天就来聊一下这个话题,这在快速迭代部署的微服务环境中环是极其有用的。以上就是如何通过Actuator获取build与git相关信息的内容了,希望对你有帮助。关注shusheng007,持续输出干货,让我们共同进步,成为朋友。原创 2024-03-13 21:12:27 · 952 阅读 · 0 评论 -
秒懂SpringBoot之如何集成SpringDoc(全网目前最新最系统最全面的springdoc教程)
近来颇为懈怠,博客竟两月有余未发一篇,惭愧惭愧。值此端午佳节(dragon boat festival)作为调包高手、API小王子的我就聊聊API文档的那些事吧,如果你也是API小王子,那我们就可以在一起欢度佳节了,哈哈…我惯用Java,惯用Spring,所以这里谈论的是关于springboot中如何处理文档的内容终于写完了,要写一篇逻辑清晰,对初学者友好的博客可真不容易。当然我写博客主要是为了自己梳理知识,但是我一直秉承着解决自己初次接触时候的困难场景来写的,相信对其他小朋友会有很大的帮助。原创 2023-06-22 14:01:59 · 1628 阅读 · 0 评论 -
秒懂SpringBoot之参数验证全解析(@Validated与@Valid)
在构建 Web 应用程序时,确保进入应用程序的数据有效并满足您的业务需求非常重要。实现此目的的一种方法是在服务器端验证输入数据。在这篇博客中,我们将探讨如何在 Spring Boot 应用程序中进行输入数据验证,善用的话可以写出健壮而优美的代码。让我们从一个实例开始吧Spring Boot 使用为输入数据验证提供内置支持,Java Bean Validation API 是用于验证 Java 对象的标准 API。此 API 允许您使用注释定义 Java 类属性的约束,并根据这些约束验证输入数据。原创 2023-04-02 09:11:01 · 1166 阅读 · 1 评论 -
秒懂SpringBoot之Filter与HandlerInterceptor异同
在日常开发中,我们会经常用到Filter和HandlerInterceptor,刚接触时感觉二者差不多,那二者有什么异同呢?谁先执行谁后执行呢?分别在什么场景下使用呢?接下来让我们看一下总之二者各有各的适用场景,合适的才是最好的。这就跟找对象是一样一样的,合适当前场景的才是最好的,随着时间的流逝情况也许会有变化,到时候重构就好了。原创 2023-03-07 06:00:00 · 991 阅读 · 0 评论 -
秒懂SpringBoot之全网最易懂的Spring Security教程
现如今Spring全家桶在Java web后端领域是寡头般的存在,其中安全相关的那员大奖就是Spring Security。我觉得它相对于其他竞争对手,例如显得过于复杂,对初学者很不友好,我第一次看见这玩意感觉这就是个垃圾,半天搞不懂,太tm复杂了。由于其是spring全家桶的一员,与spring生态集成时特别丝滑,所以用的人也不少,所以不管喜不喜欢你还是要懂他…为什么要写这篇文章呢?原创 2023-02-17 06:00:00 · 616 阅读 · 1 评论 -
Spring Data Jpa如何实现审计和乐观锁功能
在具体业务中跟踪数据库数据操作记录有时是很强烈的需求:谁何时创建了这条记录,谁何时修改了这条记录,越是大点的公司这个需求越强烈。这些需求实现较为机械和简单,所以我们不想手动去做,所以很多相关框架都提供了相应的方案,今天我们就看下Spring Data JPA是如何实现的。以前一直在使用MyBatis,现在看来JPA也不赖,关键是平时用的是SpringData JPA,Spring全家桶给你安排的明明白白。这里也不是说MyBatis不好,还是的针对自己组织和项目来取舍。又要过大年了,又要长一岁了…原创 2023-01-18 07:00:00 · 588 阅读 · 0 评论 -
秒懂SpringBoot如何集成Redis
SpringBoot集成Redis步骤这块非常简单,没有太多内容,集成后如何使用的思路可以略微谈一谈,我认为这也算是集成的一部分吧。本文主要着眼于应用层面提供了一些如何使用Redis的思路,具体还需要在实战中不断磨炼,磨炼加总结终能举一反三,触类旁通…,小星星点起来哦,再也不怕找不到。原创 2022-10-15 11:27:24 · 704 阅读 · 0 评论 -
秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止
IOC与AOP是Spring框架最重要的两个思想。其中的IOC使得我们可以将对象及其依赖交由Spring容器来管理,极大的解放了我们的生产力。但凡事都有两面性,我们在逃避义务的同时也就意味着放弃了控制的权利,以前对象和依赖都是由我们负责处理,我们想怎么弄就怎么弄,但现在交给了spring这个大兄弟,我们做了甩手掌柜,那我们就失去了控制的权利。幸好Spring这个大兄弟比较厚道,给我们留下了若干个扩展点,这些扩展点就是它给我们干预被托管对象的机会,所以我们一定要抓住。原创 2022-10-06 20:53:50 · 602 阅读 · 0 评论 -
秒懂SpringBoot之Mvc请求执行流程浅谈
在Java Web开发领域Spring Mvc的流行度居高不下,假期花了天时间又读了下spring mvc的源码,大概整理一下,以便于查询,也便于后辈学习。以上就是Spring Mvc大概的执行流程,希望你了了…SpringBoot之所以好用是因为其对整个流程做了高度抽象,如果不懂其中的原理那么它对于我们来说就是一个黑盒,对于日常搬砖是没什么问题,一旦出了bug就抓瞎了…而且只有掌握了其原理,才能更好的使用它。原创 2022-10-05 10:56:54 · 1074 阅读 · 0 评论 -
秒懂MyBatis之读写分离简单实现
多年前在springboot中集成mybatis访问数据库后,一下就被其强大的功能征服了,从此再也没有用过纯JDBC的API,但是当时心中隐约还是有个疑问:要是我们的APP要同时访问两个数据库,那MyBatis咋办呢?因为只是想了下,于是还是不知道…直到有一天要搞读写分离…最近又看到了这个话题,于是就叨叨几句。在生产环境中搞读写分离一般采用成熟的第三方方案,例如代理模式的mycat,以及客户端模式的sharding-jdbc,但是手动实现一个读写分离方案对我们理解底层的原理帮助是巨大的。原创 2022-10-03 06:30:00 · 2272 阅读 · 0 评论 -
SpringBoot如何上传文件
今天聊点实操类的小知识吧,没啥技术含量,但架不住实用…在后端开发过程中偶尔会遇到文件的接收和上传的业务场景。接收呢是前端将文件传给后端,后端负责接收处理,上传呢是后端把文件上传到其他服务或者平台上。这两种场景下在SpringBoot中如何实现呢?现代Java开发中,各种框架和三方库的封装使得各种常用功能已经简化到在不知其所以然的情况下也能完成了,不过我们还是要稍微提一下原理,使文章显得更加的专业和高大上,哈哈…。我们通常文件的上传实用HTTP的POST方法,Content-Type 为类型的方式。...原创 2022-08-27 17:11:31 · 2645 阅读 · 0 评论 -
SpringBoot如何整合RabbitMQ
好久没有写博客了,终日忙于生计,真是人过30不如狗啊,但写点什么好呢?想想当年自己入门时候那痛苦的经历,还是写点优质实用的入门文章吧,既满足了自己好为人师的本性,也能给后辈提供一些帮助。今天咱们就来聊聊springboot整合rabbitmq的那些事吧。SpringBoot的风头之盛不多说了,我是在2016年首次接触springboot的,当时自己要写个APP,后台采用了springboot。当时还真是个新鲜事物,没想到以后几年的发展犹如黄河泛滥,一发不可收拾…rabbitmq官网https。...原创 2022-07-23 23:31:26 · 14793 阅读 · 6 评论 -
什么是Spring Profiles以及如何使用
概述Profile是什么Profile翻译成中国话就是:简介,档案… 。例如王二狗和牛翠花两人各有一套自己的profile翠花的Profile:姓名:牛翠花性别:女爱好:逛街王二狗的Profile:姓名:王二狗性别:男爱好:编程对应到Spring中也是一样的。在实际开发中会同时存在dev、uat、prod等多套环境,这些环境共用一套代码逻辑,但却需要不同的配置。例如dev环境要连接测试数据库,而prod则需要连接生产环境数据库等等。如何使用前面已经说了,profile最主要的目原创 2021-10-05 11:55:37 · 18821 阅读 · 4 评论 -
SpringBoot自动配置原理及如何创建自己的Starter
概述现在Java后端Spring是绝对的霸主,而基于Spring的SpringBoot已经成为使用Spring的首选方式。我第一次使用SpringBoot的时候我觉得它很神奇,我只是在maven项目的pom.xml文件里面加个spring-boot-starter-web的依赖,我就可以直接写Rest API了。但刚接触SpringBoot的时候我也很困惑:当我使用开源库时,有的只需要加上starter就可以直接使用了,但有的又需要加上某个注解,有的还需要在application.properties文原创 2021-09-23 22:26:28 · 501 阅读 · 1 评论 -
重拾后端之Spring使用过程中问题汇总
Spring CloudSpringCloud 官网SpringBoot 与 SpringCloud 版本对应关系SpringCloud 2020.0.x bootstrap(yml 或者properties)不起作用SpringCloud 从2020.0.x 后bootstrap文件默认不起作用了。主要是因为SpringCloud 2020.0.x需要使用SpringBoot 2.4 以上,而其默认绑定Config Server的方式使用spring.config.import属性官方文档原创 2021-07-13 23:37:11 · 1021 阅读 · 0 评论 -
Java单元测试总结
[版权申明] 非商业目的注明出处可自由转载博文地址:出自:shusheng007文章目录概述单元测试概念测试项目单元测试工具JUnitMockitoSpringBoot测试总结概述关于为什么要做单元测试是老生常谈了,越是小公司越不重视单元测试,这是实践出来的最经济的做法。由于大部分人在小公司工作,所以单元测试从来就没有被真正的重视起来过。大部分时候你写单元测试,不是你觉得它有用而是因为公司要求写。由于大公司部门以及项目协作很复杂,加上人力物力相对富裕,所以勉强可以推行下去,小公司这么搞就是在找.原创 2021-06-13 18:39:57 · 3875 阅读 · 5 评论 -
SpringBoot如何读取非默认配置文件(@PropertySource)
[版权申明] 非商业目的注明出处可自由转载博文地址:出自:shusheng007文章目录概述自定义配置文件读取内容概述众所周知,我们可以将程序的配置写在默认的application.properties文件中,但是有时我们为了便于管理,存在将某些配置写在单独的文件中的需求,SpringBoot如何实现呢?今天就叨叨一下自定义配置文件首先我们的有个自定义的配置文件,例如info.properties,其内容如下,那我们如何读取其内容呢?test.name= hello读取内容将其放.原创 2021-05-19 23:06:00 · 954 阅读 · 1 评论 -
SpringBoot如何读取配置文件(@Value/@ConfigurationProperties/Environment)
[版权申明] 非商业目的注明出处可自由转载博文地址:出自:shusheng007文章目录概述配置文件类型读取配置文件的三种方式使用@Value使用Environment使用@ConfigurationProperties总结概述最近工作的重心逐渐由移动开发转到后端了,由于日常主要精力在移动开发上,以至于对后端的很多知识都停留在理论层面上,实践比较少,一旦动手才发现有点眼高手低。于是我将自己学习的过程记录下来,不然过几天就忘了,一来可以作为自己的学习笔记,二来也能帮助待见我的那些程序猿小伙伴们….原创 2021-05-18 23:24:16 · 1326 阅读 · 1 评论