纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

通过注解实现自定义SpringBootStarter自动装配

12月4日 孤小单投稿
  以Springboot作为微服务开发的项目中会用到很多第三方,或者自建的一些依赖SDK,例如分布式锁、文件管理、数据库连接、统一错误拦截等组件。为了达到通用的目的,都会创建自定义的springbootstater组件。以下介绍创建步骤:
  一、创建Maven测试项目teststarterpom文件如下:projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstancexsi:schemaLocationhttp:maven。apache。orgPOM4。0。0http:maven。apache。orgxsdmaven4。0。0。xsdparentgroupIdcom。test。startergroupIdteststarterartifactIdversion1。0。0versionparentmodelVersion4。0。0modelVersiontestspringbootstarterartifactIdpackagingjarpackagingdependenciesdependencygroupIdorg。springframework。bootgroupIdspringbootautoconfigureartifactIdversion2。3。2。RELEASEversiondependencydependenciesbuildfinalNametestspringbootstarterfinalNamebuildproject
  二、创建自动装配类TestServiceConfiguration。javapackagecom。test。spring。boot。starter。importorg。springframework。beans。factory。annotation。Aimportorg。springframework。boot。context。properties。EnableConfigurationPimportorg。springframework。context。annotation。Bimportorg。springframework。context。annotation。Cimportcom。test。spring。boot。starter。TestSimportcom。test。spring。boot。starter。TestServiceIConfigurationEnableConfigurationProperties(valueTestServiceProperties。class)publicclassTestServiceConfiguration{AutowiredprivateTestServicePBeanpublicTestServicegetTestService(){returnnewTestServiceImpl(properties);}}
  三、创建配置类TestServiceProperties。javapackagecom。test。spring。boot。starter。importorg。springframework。boot。context。properties。ConfigurationPimportlombok。Dimportlombok。ToSDataToStringConfigurationProperties(prefixtest。starter)publicclassTestServiceProperties{客户端IDprivateStringclientId;客户端名称privateStringclientN}
  四、创建提供服务的接口TestService。javapackagecom。test。spring。boot。publicinterfaceTestService{测试paramnamereturnStringsayHello(Stringname);}
  五、创建TestService的实现类型TestServiceImpl。javapackagecom。test。spring。boot。importcom。test。spring。boot。starter。config。TestServiceP服务实现authortestpublicclassTestServiceImplimplementsTestService{privateTestServicePpublicTestServiceImpl(TestServicePropertiesproperties){this。}OverridepublicStringsayHello(Stringname){returnclientId:properties。getClientId(),clientName:properties。getClientName(),welcomename!;}}
  六、创建自定义注解EnableTestpackagecom。test。spring。boot。starter。importjava。lang。annotation。Dimportjava。lang。annotation。ElementTimportjava。lang。annotation。Rimportjava。lang。annotation。RetentionPimportjava。lang。annotation。Timportorg。springframework。context。annotation。Iimportcom。test。spring。boot。starter。config。TestServiceC自定义自动装配启动注解authortestRetention(RetentionPolicy。RUNTIME)Target(ElementType。TYPE)DocumentedImport({TestServiceConfiguration。class})publicinterfaceEnableTest{}
  通过以上步骤就实现了自定义Springbootstartertestspringbootstarter组件,下面创建测试项目去调用这个starter组件。
  创建starter组件使用项目
  一、创建maven测试项目testservice,pom文件如下projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstancexsi:schemaLocationhttp:maven。apache。orgPOM4。0。0http:maven。apache。orgxsdmaven4。0。0。xsdparentgroupIdcom。test。startergroupIdteststarterartifactIdversion1。0。0versionparentmodelVersion4。0。0modelVersiontestserviceartifactIdpackagingjarpackagingdependenciesdependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependencydependencygroupIdorg。springframework。bootgroupIdspringbootstartertestartifactIdscopetestscopeexclusionsexclusiongroupIdorg。junit。vintagegroupIdjunitvintageengineartifactIdexclusionexclusionsdependency!把自定义组件依赖进来dependencygroupIdcom。test。startergroupIdtestspringbootstarterartifactIdversion1。0。0versiondependencydependenciesbuildfinalNametestservicefinalNamepluginsplugingroupIdorg。springframework。bootgroupIdspringbootmavenpluginartifactIdversion{spring。boot。version}versionexecutionsexecutiongoalsgoalrepackagegoalgoalsexecutionexecutionspluginpluginsbuildproject
  二、创建启动类Application。javapackagecom。test。importorg。springframework。boot。SpringAimportorg。springframework。boot。autoconfigure。SpringBootAimportorg。springframework。context。annotation。ComponentSimportcom。test。spring。boot。starter。annotation。EnableTEnableTest启动自定义组件ComponentScan(basePackages{com。test。service})SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String〔〕args){SpringApplication。run(Application。class,args);}}
  三、创建配置文件application。ymltest:starter:clientid:testservice01clientname:testservice
  四、创建测试类TestController。javapackagecom。test。service。importjavax。annotation。Rimportorg。springframework。web。bind。annotation。GetMimportorg。springframework。web。bind。annotation。PathVimportorg。springframework。web。bind。annotation。RequestMimportorg。springframework。web。bind。annotation。RestCimportcom。test。spring。boot。starter。TestSRestControllerRequestMapping(v1test)publicclassTestController{ResourceprivateTestServicetestSGetMapping({name})publicStringhello(PathVariable(name)Stringname){returntestService。sayHello(name);}}
  到这里整个自定义springbootstarter创建就完成了,同时也依赖到项目中进行使用了。
  项目代码:startertest:自定义starter组件
投诉 评论 转载

荒野大镖客2Epic平台预购开启,国区定价247元IT之家10月24日消息10月初,R星宣布《荒野大镖客2》11月5日登陆PC,首选是在自家平台开启预售,从10月23日开始,PC版《荒野大镖客2》也可以在EpicGamesst……天下纷乱而太师先行,率土之滨太师乱汉同人文189年,东汉最后一个掌权的皇帝薨然而去,留下了整个庞大而混乱的帝国。东汉似乎有着自己的诅咒,开国皇帝刘秀聪慧异常,但是他的子孙却常常活得不会太长久。年幼的帝王在皇……Steam版怪物猎人世界冰原将与主机版同步更新IT之家1月19日消息据Steam游戏平台官方消息,今日卡普空官方发布《怪物猎人世界:冰原》的游戏更新计划表,表示此后将与主机同步更新。根据更新内容,预定于2月6日配信大……国产武侠游戏洛川群侠传登陆Steam,将于1月31日解锁IT之家1月19日消息据Steam游戏平台官方消息,国产武侠游戏《洛川群侠传》目前已经登陆Steam,信息显示将于1月31日解锁。介绍称,《洛川群侠传》是一款武侠风格的动……喜加一!Steam免费领取欢乐雪球,该游戏即将下架IT之家1月18日消息据Steam游戏平台官方消息,目前可以限时免费领取VR游戏《欢乐雪球(MerrySnowballs)》,截止日期为2月1日凌晨2点,官方表示这款游戏将于1……iPhone11PROMAX正式发布,A13处理器所向无敌北京时间2019年9月11号凌晨1点,苹果在旧金山圣何塞总部举行了秋季新品发布会,我们一起来看看新品iPhone怎么样吧。在上代被命名为iPhoneXR的在这里是iPho……微软飞行模拟器2020最新预告茫茫雪景IT之家1月2日消息《微软飞行模拟》由XboxGameStudio与《瘟疫传说:无罪》开发商Asobo共同开发,支持MOD,支持多种操作设备,将于2020年发售,登陆XboxO……通过注解实现自定义SpringBootStarter自动装配以Springboot作为微服务开发的项目中会用到很多第三方,或者自建的一些依赖SDK,例如分布式锁、文件管理、数据库连接、统一错误拦截等组件。为了达到通用的目的,都会创建自定……比亚迪车型价格分布合理,宋ProDMi或售12。3814。7最近分析了宋ProDMi和宋MAXDMi的起售价,有网友说:想知道宋ProDMi车型的大概价格。笔者认为:宋ProDMi或售12。3814。78万元(起售价和顶配价均偏差500……最终幻想游戏开发商SE否认被收购传闻不考虑出售任何业务,也未IT之家4月18日消息彭博社此前报道,有不少公司正有意收购《最终幻想》游戏开发商SquareEnix。近日,SquareEnix针对该传闻给出回应,表示目前不考虑出售公司……Steam版尼尔机械纪元遭遇大量差评优化差,无中文,老玩家无IT之家3月21日消息游戏《尼尔:机械纪元》在18日加入XboxGamePass,本来是一件好事,结果却引来了玩家对Steam版的广泛差评。据评测用户反馈,《尼尔:机械纪……八方旅人要移植到PC?韩国已完成分级IT之家4月5日消息此前,非常火爆SwitchRPG游戏《八方旅人》似乎要移植到PC平台。根据韩国游戏分级机构的信息,PC版的《八方旅人》已经在今天完成分级审批。根据分级……
vivo做了一块V1芯片但影像不止是它的唯一追求双十一小米成最大赢家,销售额翻倍,破143亿VR游戏由纪上线爱奇艺奇遇弹幕射击肉鸽玩法对讲机为什么用半传输?腾讯游戏信用低于100分,王者荣耀发言和社交功能将被禁用红米Note8ProMIUI1220。5。21让下一代煤矿工人坐在办公室里挖煤华为鸿蒙操作系统正式进入工业英雄联盟iG战队夏季赛大名单公布新增教练NoFe与上单nen松下AGHMC83MC出售干净又卫生?模拟经营游戏脏活模拟器上架Steam,支持简体中价格新低,苹果旧产品价格再次下滑,会不会更香?出乎意料!美国对中国制造产品的需求暴增初三历史的教学计划居民楼高空坠物责任有哪些?幸福有礼,广元欧蓝德限时特惠1。7万元仁爱英语七年级Unitampnbsp1ampnbspTopi男人不可以看女的洗澡哦,梦见一条狗,长的很像你威马汽车取消全员年终奖官方回复年度不达标丹麦民众我要见丹麦女王,卫兵你去菜市场找找,她准在那买菜教你冰淇淋大眼妆的化妆步骤快速营造减龄眼妆智能复读机怎么用女会计被骗136万会计被骗承担什么责任糖尿病并发症一剂见效茯苓汤穿什么蕾丝才显得有气质?15款蕾丝单品没有一件你都不好意思说

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形