网站域名不备案,广告设计专业就业前景怎么样,房地产网站制作公司,网络营销的特点举例2.4.2.抽取方式
将Feign的Client抽取为独立模块#xff0c;并且把接口有关的POJO、默认的Feign配置都放到这个模块中#xff0c;提供给所有消费者使用。
例如#xff0c;将UserClient、User、Feign的默认配置都抽取到一个feign-api包中#xff0c;所有微服务引用该依赖包…2.4.2.抽取方式
将Feign的Client抽取为独立模块并且把接口有关的POJO、默认的Feign配置都放到这个模块中提供给所有消费者使用。
例如将UserClient、User、Feign的默认配置都抽取到一个feign-api包中所有微服务引用该依赖包即可直接使用。
2.4.3.实现基于抽取的最佳实践
1抽取
首先创建一个module命名为feign-api
项目结构 在feign-api中然后引入feign的starter依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId
/dependency然后order-service中编写的UserClient、User、DefaultFeignConfiguration都复制到feign-api项目中
2在order-service中使用feign-api
首先删除order-service中的UserClient、User、DefaultFeignConfiguration等类或接口。
在order-service的pom文件中中引入feign-api的依赖
dependencygroupIdcn.itcast.demo/groupIdartifactIdfeign-api/artifactIdversion1.0/version
/dependency修改order-service中的所有与上述三个组件有关的导包部分改成导入feign-api中的包
3重启测试
重启后发现服务报错了 这是因为UserClient现在在cn.itcast.feign.clients包下
而order-service的EnableFeignClients注解是在cn.itcast.order包下不在同一个包无法扫描到UserClient。
4解决扫描包问题
方式一
指定Feign应该扫描的包
EnableFeignClients(basePackages cn.itcast.feign.clients)方式二
指定需要加载的Client接口
EnableFeignClients(clients {UserClient.class})