spring
文章平均质量分 74
zhangjikuan
这个作者很懒,什么都没留下…
展开
-
spring test独立ApplicationContext防止多个UT @Mockbean相互影响
背景之前出现过@MockBean的类在跑UT时报错,检查日志发现运行时没mock导致的报错,代码中明明是mock的,单独跑UT没问题,批量跑就出问题了,之前解决过相关问题记在代码注释中了,今天团队同学又出现了,记录下吧。先看下面的两段代码@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes = OpsApplication.class)@WebAppConfigurationpublic class RebuildInsta原创 2022-04-26 10:40:09 · 2418 阅读 · 0 评论 -
Idea添加注释模板
idea添加注释模板file-settings-live Template,添加自己的template group在template group中添加两个template,一个是类的,一个是方法的类模板/** * $class$ * * @author: zhangjikuan * @date: $Date$ $time$ */类模板的edit variablesNameExpressionDefault valueskipclasscla原创 2021-03-31 14:26:32 · 247 阅读 · 3 评论 -
spring无侵入自动生成接口文档
前沿spring cloud多个微服务开发了很多接口,紧急对接前端,需要快速提供一批接口的文档,且不同微服务的接口由多位同事开发且注释非常的少各有不同,现在需要不修改代码不添加注释的情况下能自动的扫描接口并生成文档。本文将详细介绍实现此需求的技术方案。技术方案在通过网络搜索后,最终定位到了JApiDocs开源代码,感谢大神开源,此代码基本实现了我想要的,但是需要对源码做些改动。JApiDocs源码:https://github.com/YeDaxia/JApiDocsJApiDoc原创 2021-03-31 14:06:01 · 1210 阅读 · 3 评论 -
python3 urllib调用spring cloud服务报urllib.error.HTTPError: HTTP Error 400: Bad Request排查
背景使用python3的urllib调用spring cloud服务接口,一直报错 File "E:\github\workspace\dbfree\src\test\common\test_paas_api_base.py", line 49, in test_zjk resp = urllib.request.urlopen(req, timeout=5) File "C:\Users\zhangjikuan\AppData\Local\Programs\Python\Python36原创 2021-03-19 16:01:43 · 6363 阅读 · 0 评论 -
spring cloud设置GlobalException
背景使用spring cloud搭建微服务时,我们会定义自己的返回对象,设置返回code,msg,data,便于调用方解析,统一格式也便于为大型项目编写client库。正常返回时没问题,那如果接口服务抛exception,或者controller验证不通过时该如何catch住异常返回对应报错并包装为自己的返回对象。解决/** * 自动捕获异常联动返回 * 所有捕获到的异常HTTP返回状态码都要为200,不然很多client会认为http失败而不打印我们自己的报错 * @author: zhang原创 2021-03-19 14:02:58 · 375 阅读 · 0 评论 -
Spring cloud(六)Eureka配置动态更新,动态扩缩容
前言在上篇介绍了Eureka的原理,关于Eureka集群部署类似于ZK,需要把集群中每个节点信息都配置到配置文件中,在云原生时代,K8S部署Eureka时每个节点要有不同的配置文件,所以需要用statfulset的方式部署。上篇文章介绍过集群部署的三个方案及其优劣,如下所示:1双节点自动配置* 采用脚本方案,启动查数据库,设置defaultZone,但是此种方式挂了重启重新分配ip时集群其他节点不会动态更新2采用配置文件方式,使用服务名来配置集群,每个节点是一个服务,client也配置服务名*原创 2021-01-03 13:49:57 · 2167 阅读 · 0 评论 -
Spring cloud(五)Eureka原理详细总结
前言Eureka与之前使用的注册中心有些差别,Eureka的重可用性在服务化场景下是亮点,本文详细总结Eureka的特性,尤其是与zk等常用组件的差别,可以帮助更好的理解spring cloud过程。阅读本文需要对注册中心有一定的了解。Eureka调用图Eureka调用图如下所示上图分为两大部分Eureka相关:这是Eureka集群,Eureka分为两部分server和client+ Eureka Server:服务注册server端,用于贮存注册信息,组成集群+ Eureka c原创 2021-01-03 11:56:51 · 304 阅读 · 0 评论 -
Spring cloud(四) 搭建gateway
简介基于上面几篇的基础,我们已经搭建好了项目,搭建好了注册中心eureka,搭建好了测试微服务,下面来搭建网关,前面几篇参考搭建eureka搭建微服务关于spring cloud api gateway的详细介绍,与zuul的区别,选型等问题详细参考文章网关对比文章spring cloud gateway微服务网关spring cloud gateway搭建gateway1.new-module 创建gateway maven项目2.pom中添加依赖<dependencies原创 2020-11-20 15:13:53 · 550 阅读 · 0 评论 -
Spring cloud(三)搭建微服务
简介基于上一篇搭建好的eureka注册中心,详细查看 https://blog.csdn.net/zhangjikuan/article/details/109819812本文将搭建微服务注册到注册中心微服务搭建1.nwe-module 创建微服务项目2.pom中添加如下依赖 <dependencies> <!--eureka --> <dependency> <groupId>org原创 2020-11-20 14:45:00 · 237 阅读 · 0 评论 -
spring cloud(二) 搭建Eureka
简介本文介绍spring cloud注册中心eureka的搭建详细过程,基于上一篇的项目搭建项目中做的添加,没看过上一篇的点击查看https://blog.csdn.net/zhangjikuan/article/details/109819065关于服务注册与发现和eureka原理与介绍不再重复,详细参考其他博主文章 https://zhuanlan.zhihu.com/p/95696180?from_voters_page=true项目搭建1.右击项目 new-Module 选择SDK 1原创 2020-11-19 19:32:17 · 159 阅读 · 0 评论 -
spring cloud(一)项目搭建
简介本文只介绍spring cloud项目的搭建,后面文章会依次介绍其他微服务的加入。关于spring cloud的介绍不在重复,可以参考这个总结 https://zhuanlan.zhihu.com/p/95696180?from_voters_page=trueidea项目搭建1.idea file-new 创建maven工程2.为工程添加mvn镜像配置,我使用的阿里云mvn仓库,复制以下内容到本地的xxx.xml中,file-settings 找到maven,设置User settin原创 2020-11-19 17:46:08 · 195 阅读 · 0 评论 -
spring boot基于maven的多环境配置
背景一般项目上线都会有多个环境,如开发环境,预发环境,线上环境,不同环境的配置可能会不一样,下面说下如何做多环境配置。本来是很简单的一件事,但是配置过程中遇到了报错,记录下:配置假设有三个环境 dev pre prod,分为三个配置文件application-dev.yml, application-pre.yml, application-prod.yml 分别把这三个配置文件放到resources中,跟application.yml并列。application.yml中添加如下配置:spr原创 2020-11-19 17:10:57 · 211 阅读 · 0 评论 -
spring boot启动时调用自己的非web逻辑
在Spring Boot中,有些代码是WEB功能,例如API等,但是有些逻辑是非WEB,启动时就要调用并持续运行的,该如何加载自己的非WEB逻辑呢?SpringBootApplication类实现CommandLineRunner并覆盖run()方法@SpringBootApplicationpublic class ZjkApplication implement原创 2017-07-27 12:42:17 · 3668 阅读 · 0 评论 -
spring常用注解使用讲解
spring常用注解使用讲解本文讲述spring的几个常用的注解@RequestMapping @RequestParam@ResponseBody@RequestBody@Autowired一、@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都原创 2016-07-16 19:57:34 · 9400 阅读 · 1 评论 -
spring4.x注解详述
初学spring,网上找到一个老兄对注解总结的非常好,尤其是注解模块图,挺用心的,原文链接如下:http://www.cnblogs.com/davidwang456/p/4432410.htmlspring4.x注解概述1. 背景注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出转载 2016-07-16 17:26:56 · 1007 阅读 · 0 评论