专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

springboot2。7。6升级springboot3。0

  项目脚手架
  项目脚手架是基于springBoot2。7。6jdk17的springCloud分布式微服务架构。主要组件和框架有:nacos,sentinel,springCloudGateway,kafka,elasticsearch,mysql,redis,caffeine,mapstruct,swagger2,skywalking,mybatisplus。前段时间本来是jdk1。8的,后面升到了jdk17,jdk升级就记得启动脚本里要加:addopensjava。basejava。langALLUNNAMEDaddopensjava。basejava。lang。reflectALLUNNAMED。下面进入正题,升级springboot3。0。2过程。升级难点
  1:版本依赖
  2:springCloudGateway升级异常
  3:KafkaTemplate
  4:swagger改成了springdoc
  5:redis配置文件改动版本依赖
  springboot3升级了大部分的依赖,我拿几个重点的,当然有的可能是没必要升级,我没一个一个试,基本都是找的最新版本。代码里面主要修改就是javax改成了jakarta,这个使用idea或者其他工具全局替换就行。springbootdependencies:3。0。2springclouddependencies:2022。0。1springcloudalibabadependencies:2022。0。0。0RC1springcloudstarter:4。0。1springcloudstartergateway:4。0。1springbootadminstarterserver:3。0。0jakarta。xml。bindapi:4。0。0ojdbc8:21。9。0。0mysqlconnectorjava:8。0。32hibernatevalidator:8。0。0。Finalmybatisplusbootstarter:3。5。3。1mybatisspringbootstarter:3。0。1dynamicdatasourcespringbootstarter:3。6。1
  有个重要的依赖,swagger2已经不适用springboot3了,我换成了springdocdependencygroupIdcom。github。xiaoymingroupIdknife4jopenapi3jakartaspringbootstarterartifactIdversion4。0。0versiondependency
  javax改成jakarta,当然不止这一个,其他的就全部替换就OK。
  javaxspringCloudGateway
  网关在升级的时候,我碰到了两个问题,一个是说网关的依赖里面有springbootstarterweb的依赖,导致报错,这个我没去找具体哪个依赖了,直接在配置文件里面加了个配置搞定:spring。main。webapplicationtypereactive。还有一个是说有两个CacheManager的bean。我只找到一个,直接重写覆盖LocalResponseCacheAutoConfiguration类,在gatewayCacheManager方法上加了一个注解Primary搞定。PrimaryBean(name{gatewayCacheManager})publicstaticCacheManagergatewayCacheManager(LocalResponseCachePropertiescacheProperties){CaffeineCacheManagercaffeineCacheManagernewCaffeineCacheManager();caffeineCacheManager。setCaffeine(caffeine(cacheProperties));returncaffeineCacheManager;}
  还有一个小问题,网关的sentinel报错信息有修改,原先我项目里有个方法handleBlockedRequest,我直接去掉了。现在改成了继承SentinelGatewayBlockExceptionHandler类,重写handle方法直接返回一个json数据。KafkaTemplate
  项目中用的消息中间件是kafka,以前发送消息是:发送消息ListenableFutureSendResultString,ObjectfuturekafkaTemplate。send(TOPICTEST,TOPICGROUP1,obj2String);future。thenAccept(newListenableFutureCallbackSendResultString,Object(){OverridepublicvoidonFailure(Throwablethrowable){发送失败的处理log。info(TOPICTEST生产者发送消息失败:throwable。getMessage());}OverridepublicvoidonSuccess(SendResultString,ObjectstringObjectSendResult){成功的处理log。info(TOPICTEST生产者发送消息成功:stringObjectSendResult。toString());}});
  现在是发送消息CompletableFutureSendResultString,ObjectfuturekafkaTemplate。send(TOPICTEST,TOPICGROUP1,obj2String);成功future。thenAccept(result{log。info(TOPICTEST生产者发送消息成功:result);});失败future。exceptionally(e{log。info(TOPICTEST生产者发送消息失败:e。getMessage());returnnull;});swagger
  swagger改动超级大,只怪当时项目用了swagger2注解,果断改成了springdoc
  依赖换成:knife4jopenapi3jakartaspringbootstarter
  注解改动
  1:controller类注解:io。swagger。annotations。Api改成了io。swagger。v3。oas。annotations。tags。Tag;
  controller类
  2:controller方法注解:io。swagger。annotations。ApiOperation;改成了io。swagger。v3。oas。annotations。Operation;
  controller方法
  3:请求参数注解:io。swagger。annotations。ApiModel和io。swagger。annotations。ApiModelProperty都换成了io。swagger。v3。oas。annotations。media。Schema;
  请求参数
  注意这里以前的ApiModelProperty里面有个参数required换成了requiredMode,position参数没了,都要改。
  还有swagger配置也要改,这是我直接从网上抄过来的配置,以前我还能分组的,现在不好使了,只有一个全部接口的分组了,打开贼慢。有时间我再试试。ConfigurationpublicclassSwaggerConfig{AutowiredprivateSwaggerModeldocketInfos;根据Tag上的排序,写入xorderreturntheglobalopenapicustomizerBeanpublicGlobalOpenApiCustomizerorderGlobalOpenApiCustomizer(){returnopenApi{if(openApi。getTags()!null){openApi。getTags()。forEach(tag{MapString,ObjectmapnewHashMap();map。put(xorder,RandomUtil。randomInt(0,200));tag。setExtensions(map);});}if(openApi。getPaths()!null){openApi。addExtension(xtest123,333);openApi。getPaths()。addExtension(xabb,RandomUtil。randomInt(1,200));}};}BeanpublicGroupedOpenApiuserApi(){String〔〕paths{};String〔〕packagedToMatch{docketInfos。getUrl()};returnGroupedOpenApi。builder()。group(全部接口)。pathsToMatch(paths)。addOperationCustomizer((operation,handlerMethod){returnoperation。addParametersItem(newHeaderParameter()。name(type)。example(gateway)。description(报文头来源)。schema(newStringSchema()。default(type)。name(gateway)。description(报文头来源)));})。packagesToScan(packagedToMatch)。build();}BeanpublicOpenAPIcustomOpenAPI(){InfoinfonewInfo();info。setTitle(docketInfos。getTitle());info。setDescription(docketInfos。getDescription());info。setTermsOfService(www。baidu。com);ContactcontactnewContact();contact。setName(123456);contact。setUrl(www。baidu。com);contact。setEmail(123456163。com);info。setContact(contact);info。setVersion(docketInfos。getVersion());info。setSummary(docketInfos。getDescription());returnnewOpenAPI()。info(info);}}redis
  redis主要是配置文件改了,以前是spring。redis。。。。改成了spring。data。redis。。。。
  其他暂时没发现什么改动。总结
  目前我项目中遇到暂时就遇到了这些,还有些组件没去试,像skywalking,es这些,还没试功能,项目能正常启动,交易能发通,就算升级成功了。还有一点,项目中用到了xxljob,这个没升级成功,升级之后freemarker模板有问题,让人头大,先不管了。

有哪些好用免费的采购管理软件?是否好用是要根据你的需求来判断的,适合你的业务需求能够帮助你解决问题的软件才是最好的!不过市场上大多数软件都是收费的,而且这些软件的功能往往是大而全的,单独做采购管理的软件系统不是电子科技大学要多少分才能录取?有什么建议吗?你好,非常荣幸为您解答嘻嘻,废话不多说,首先简单介绍一下这所院校电子科技大学之基本普及电子科技大学简称电子科大,坐落于成都市,是一所以电子信息科学技术为核心的211,985全国重点哈登老去,谁将接过联盟第一分卫的大旗?先说结论不是布克,而是华子,森林狼队的爱德华兹!1。华子天赋顶级,数据也不错,这赛季场均25分6助攻5篮板。2。华子身上有一股狠劲儿,有巨星相,有一股王者气质,他的眼神有点像乔丹。姚明与妻子叶莉近况42岁叶莉韵味十足,13岁女儿身高近1米9!在阅读此文前,诚邀您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。我们在高中就已认识,你也知道你对我来讲有多么的重要。谢谢你愿意陪我相守一生,我们可李梦丑闻背后,护犊论一夜四起李梦一事,背后暗藏一种阴谋假设,意思是,爆料人背后有推手,目的就是要动摇女篮根基,让竞争国得逞。所以,对李梦要以保护为主,所谓护犊论就是这么来的。在这派人的观点面前,就事论事批评人全国高山滑雪冠军赛收官黑龙江队收获5金全国高山滑雪冠军赛在黑龙江省亚布力体育训练基地结束。黑龙江省体育局提供中新网哈尔滨3月27日电(记者王妮娜)3月27日,20222023赛季全国高山滑雪冠军赛在黑龙江省亚布力体育训侠客岛听说在贵州,NBA球星都得坐小孩那桌我去过贵州,那里的篮球很纯粹!露天场地没有门票,球员和观众都是当地农民人头攒动呼声震天,贵州省黔东南州的村BA再次燃爆全场,连姚明都不确定能不能拿到票。地无三尺平的贵州,村头篮球酣有人说在一些领导退休后,其气场普遍变弱了,这是为什么?你怎么看?权力是男人的春药。很多领导长的都很丑,但前呼后拥的,再配上豪车秘书,气场哇哇地强啊。如果剥去这些外挂,走在大街上,跟一个普通老头有何区别。新闻里经常报道,某长微服私访,坐公交被打,吃茴香有什么好处?提到茴香,就想起妈妈包的猪肉茴香馅饺子,小时候特别不爱吃,现在离家多年,倒是开始怀念了,这也很好的诠释了茴香这个名字隐含的深意吧,茴香(回乡)代表了对家乡的思念。茴香最为具有特殊香南瓜粥的营养价值有哪些?南瓜粥的营养价值有哪些?南瓜粥的营养价值是富含胡萝卜素膳食纤维蛋白质钾镁锌铬维生素钙等营养成分。南瓜粥口味甘甜,容易消化吸收,适合人们食用。南瓜味甘,性平,归肺脾胃经。南瓜营养丰富空气炸锅和烤箱哪个更好用呢?空气炸锅更快一点,就烤地瓜来看,空气炸锅40分钟就好,烤箱得1个多小时才行。自我感觉空气炸锅好用呲牙这个吧,主要看你想做什么!!!虽然它们许多功能是通用的,但是还是会有所差别。各有
CBA快讯周琦去向确定,杨鸣召唤张镇麟归队,弗格要求大幅涨薪CBA新赛季季前赛即将开打,江苏男篮,广厦男篮,广州男篮,浙江男篮四支球队将参加本次季前赛。新赛季CBA不出意外将在10月初正式开打,各支球队也是在进行引援的最后尝试。目前CBA还宜周资讯全球超七成离岸人民币支付款额经香港处理中央政府将在澳门发行30亿元人民币国债8月31日从澳门特区政府获悉,中央政府将于2022年9月7日在澳门发行30亿元人民币国债。财政部和特区政府当日公告指出,在澳门发行人民币国债,油价调整消息今天9月4号,全国加油站929598汽油新限价到了周日,我们一起回顾下本周的油市变化,从本次计价周期开始,油价预计上调幅度就一直在正值运行,油价调整幅度先涨后跌,最后也恢复到最开始的水平。现在的预计调整幅度在0。230。25元服贸会上文旅新产品新服务创造丰富的视听体验北京日报客户端记者李洋李夏至服贸会文旅专题上,新产品新服务的首发不断,为人们创造更丰富和舒适的文旅体验和视听体验。1京剧之旅智慧地图京剧之旅智慧地图该线上旅游地图由北京市海外文化交财税体制改革向纵深推进科学的财税体制是优化资源配置维护市场统一促进社会公平实现国家长治久安的制度保障。党的十八大以来,财税体制改革全面发力向纵深推进,预算管理税收制度财政体制等方面的改革取得明显成效,基卡倍亿(300863)持续受益于电动轻量化升级卡倍亿2022年H1实现营收12。1亿元,同比31。9归母净利润0。5亿元,同比59。5其中Q2实现营业收入5。9亿元,同比24。2,环比3。4归母净利润0。2亿元,同比14。8,揭秘十大牛散之徐开东二季度在A股的布局喜欢低价重组股的徐开东,多年在资本市场屹立不倒,并且靠资本市场攫取了巨额财富。他的持仓一直是市场所关注的,很多投资者对其持仓进行深度的研究和跟踪,希望能跟上节奏。上期我们对其仓位进服贸观止如何用标准化为服务贸易进一步做大做强助攻世界需要标准协同发展,标准促进世界互联互通。9月4日,由中国贸促会主办的第六届中国服务贸易标准化论坛在北京国家会议中心举行。本次论坛是服贸会期间唯一的标准化领域的专题论坛,以服务标重回冰点今日市场有诸多不及预期第一,周末关注度最高的板块卫星导航整体表现不佳,除了三维通信与波导股份大单一字外,其余后排个股强度不及预期,临近收盘波导股份爆冷炸板。三维通信隔夜30多亿的排刚刚,央行又出手了,钱袋子稳了吗?就在刚刚,很意外的是,央行又出手了,因为,央行发布了一则公告,这一则公告对于目前低迷的A股市场大概率会起到一些提振的作用,那么,这个公告是什么呢?央行公告的大致内容就是,自2022养老金上调补发怎么算?两类人无法直接领取,你在里面吗?点击上方收听全文养老金上调补发怎么算?两类人无法直接领取,你在里面吗?今年养老金迎来了18年连涨,上涨的标准也一直是大家所期待的,上海每次都是第一个公布调整方案的,今年也是第一个将
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网