Spring cloud项目搭建----Feign(七) 布满荆棘的人生 2021-11-05 03:22 235阅读 0赞 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGdiSHdyam1OWXpramljTDZNaWMxUm5ObDdrcVZpYWJxVVhZUTExSVB5bEtERk5oME1pY3RKbFJrbXcvNjQwP3d4X2ZtdD1wbmc][] 开发的时候在想如果自己做项目经理,如何从零搭建一套框架呢?就着手实践和记录了一下。本篇开始介绍一下Feign的使用。 1,创建一个maven项目,example-api。这个项目是一个公用的feign接口module,会以jar包的形式引入其他模块。方便项目的管理,扩展,维护。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEFLeVZzTkdRQnRZZDl4RGNubElYVGFLT3lnRFlHaWJpYXlldFlRN1ViNUZadTFKU3I2ZjZ0RVFRLzY0MD93eF9mbXQ9cG5n][] 2,填写项目的配置。注意groupid修改一下,增加一个api,下一步的项目名记得改一下和artifactid一样就行。增加api是为了让example-web项目配置扫描包的时候缩小扫描的范围。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGUySUdicEZyWjJWOHZHaWFpYmU5cHZXUEUxYW9DNTNmUXFzNmRESE91cUpWaWJOZHVVNk14OEpHUS82NDA_d3hfZm10PXBuZw][] 3,设置父项目,设置打包方式为jar ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcFN2N1BiZDVUTnJYaWI3b2E3RWV4eExDR1FuNlRZbDBpYXFZSEVneG5pYXJpY2R6ZFhIYUVydUhYc0EvNjQwP3d4X2ZtdD1wbmc][] 4,引入需要用到的maven依赖。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG1mb1E1ZFZ3ZjBRbmlha2R2UGlhdjh1aGlhNmNlS2lhQjY2WnBlTkFHMlNEaWNzZEVzUG02ZmlicURKQS82NDA_d3hfZm10PXBuZw][] 5,按照如下目录,创建一个包,包里面创建一个接口和一个实现。最后删除resources目录。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGJYTDBkSEFuSEo2dFYyOHBoZ0xwamNpY3dVNFU5MTRFQk9WS0ZodUhaa25hRVRjNnJTT2NqVVEvNjQwP3d4X2ZtdD1wbmc][] 6,接口和实现类代码如下。feign接口的实现类是为了实现熔断的时候给与错误提示。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG9rT0VNQnNxYVppYUpDY2xwaWEyYjNTQnBqaG5NM2ljWkR5d1ZGckxHVEVsMXJPbU9kSlNMdnM2Zy82NDA_d3hfZm10PXBuZw][] ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHFNbFp4QlVvc3JIU1ZEOVVpYm1STFhDa2xxcjExcVhmU2NpYmVRb0owcjg4V28wYWliUVNkZXdpYlEvNjQwP3d4X2ZtdD1wbmc][] 7,在example-web项目maven中加入feign的依赖。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDRpYUkxaGJtaWFsaWEzTGN3YzRaSmRid1FFeWNuSU5pY0c1VVFkSWFSOXJ4SWhhS1VVWnhFd2ZPY1EvNjQwP3d4X2ZtdD1wbmc][] 8,刚才在feign中提到了熔断机制,我们在example中增加hystrix的依赖。(下一篇会介绍hystrix的使用) ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEZIRHVLZWJ4eFJxcXdBMGZLUHc1ZnNoRVduNmZPTWdvczZqQkptNXBaVFJFRERld0J3RndEQS82NDA_d3hfZm10PXBuZw][] 9,在example-web中增加对example-api的依赖。版本号在父项目中统一管理。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGxLMmE2QjlqelIzV2IwQzZUZ1lzdTdKNWliSm03eVRqRnppY083RjhqNEJHbGpIZUxBMzdhYXJ3LzY0MD93eF9mbXQ9cG5n][] 10,在启动类中增加下面三个注解。作用依次是开启熔断,开启监控,开启feign客户端。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDNSdVlCcTFVZ29mQnJ4SnVCeDk5bEExM3VZblo1SkxMNXUyVHhJRWYxYnBwNUxvZ2dWb1BMQS82NDA_d3hfZm10PXBuZw][] 11,把新建的模块配置到父模块的pom中,方便统一打包。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDl2SjNYS2VMWFNDT1VuUVRwRlI2VWljQnVZT2IwVEc1akxCN1ZkZXpLUExEdk1LV2ZvOUZTMlEvNjQwP3d4X2ZtdD1wbmc][] 12,修改example-web的controller代码,里面增加使用feign的调用。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG9qYjR0QWhMZ3hEWnJUSFU3cFNpYjVyUDNFekU1b21DcTJpYmt2SmhQaWFMQktrcUFLYlhNYVFhQS82NDA_d3hfZm10PXBuZw][] 13,修改example-service的controller的代码。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHhHMEJpY21YZlpWNVZpYU5JaDFIdVkxZnVOMld0UmF6Y1lQZWthUFJEYTdlS2VYbVJQVFc0VGliUS82NDA_d3hfZm10PXBuZw][] 14,example-web项目中加入熔断和负载均衡的配置。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcENsZXVuMWRPNEpoSEc3Rkw2dFZpYVFBRHBzREFuamRKbUtQSE1oV0dqYWRWQXhFNnlPcGVrQXcvNjQwP3d4X2ZtdD1wbmc][] 15,启动项目,用postman测试。 ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHNXNmlhUGlhd2tpYmlhRHZkNlQ5MHljVjBSenB2cnJ4YUFNU2liNUQ5RmlhYVRZWWpNM1JxamZpYWliSnJBLzY0MD93eF9mbXQ9cG5n][] ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcFBhR1lNMVFyZFV3YmhJZW0waWNzMTBXOGRrTmd1bVpuU3JlMTFUczZXUHNpY0ZwUGpqbkZycEdnLzY0MD93eF9mbXQ9cG5n][] ![aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEpBdXVzQ2pidGlia1dZZVdEdEExSjdVb2FsOGJOS2Fhb2hXY0hwZzRDWjNObk9idkFpYnd6aWN3Zy82NDA_d3hfZm10PXBuZw][] 下一篇将写一下hystrix的使用。 源码请关注公众号,发送springcloud 可获得下载地址。 ![2019081416303983.png][] ![20190805173825942.png][] [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGdiSHdyam1OWXpramljTDZNaWMxUm5ObDdrcVZpYWJxVVhZUTExSVB5bEtERk5oME1pY3RKbFJrbXcvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/b294d3dac32e4afb98b3df59d0939abc.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEFLeVZzTkdRQnRZZDl4RGNubElYVGFLT3lnRFlHaWJpYXlldFlRN1ViNUZadTFKU3I2ZjZ0RVFRLzY0MD93eF9mbXQ9cG5n]: /images/20211104/af3d7c632d834e1f9cf0f3f1b36fdc3c.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGUySUdicEZyWjJWOHZHaWFpYmU5cHZXUEUxYW9DNTNmUXFzNmRESE91cUpWaWJOZHVVNk14OEpHUS82NDA_d3hfZm10PXBuZw]: /images/20211104/88c1abec2c0a450d817df719412154ce.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcFN2N1BiZDVUTnJYaWI3b2E3RWV4eExDR1FuNlRZbDBpYXFZSEVneG5pYXJpY2R6ZFhIYUVydUhYc0EvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/16a912a9a0914949953d225cd01d119a.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG1mb1E1ZFZ3ZjBRbmlha2R2UGlhdjh1aGlhNmNlS2lhQjY2WnBlTkFHMlNEaWNzZEVzUG02ZmlicURKQS82NDA_d3hfZm10PXBuZw]: /images/20211104/f5b53b4e52b147dd82a5e3e4a39628a7.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGJYTDBkSEFuSEo2dFYyOHBoZ0xwamNpY3dVNFU5MTRFQk9WS0ZodUhaa25hRVRjNnJTT2NqVVEvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/26ea152f50754da997d11d58d82cc80d.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG9rT0VNQnNxYVppYUpDY2xwaWEyYjNTQnBqaG5NM2ljWkR5d1ZGckxHVEVsMXJPbU9kSlNMdnM2Zy82NDA_d3hfZm10PXBuZw]: /images/20211104/71b00c7850594b82a51e872d848c2d83.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHFNbFp4QlVvc3JIU1ZEOVVpYm1STFhDa2xxcjExcVhmU2NpYmVRb0owcjg4V28wYWliUVNkZXdpYlEvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/b2843de9185c4cabba10ce923a0cf7d6.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDRpYUkxaGJtaWFsaWEzTGN3YzRaSmRid1FFeWNuSU5pY0c1VVFkSWFSOXJ4SWhhS1VVWnhFd2ZPY1EvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/5ca85538022e4a35a66b1e4f56e98ce5.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEZIRHVLZWJ4eFJxcXdBMGZLUHc1ZnNoRVduNmZPTWdvczZqQkptNXBaVFJFRERld0J3RndEQS82NDA_d3hfZm10PXBuZw]: /images/20211104/cb7c360dd01847a98e36c75a72f62a8f.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcGxLMmE2QjlqelIzV2IwQzZUZ1lzdTdKNWliSm03eVRqRnppY083RjhqNEJHbGpIZUxBMzdhYXJ3LzY0MD93eF9mbXQ9cG5n]: /images/20211104/6902540901054590a6b3d1027c71937a.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDNSdVlCcTFVZ29mQnJ4SnVCeDk5bEExM3VZblo1SkxMNXUyVHhJRWYxYnBwNUxvZ2dWb1BMQS82NDA_d3hfZm10PXBuZw]: /images/20211104/c6e6b8f9cb8d4a5dbb9be50349371703.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcDl2SjNYS2VMWFNDT1VuUVRwRlI2VWljQnVZT2IwVEc1akxCN1ZkZXpLUExEdk1LV2ZvOUZTMlEvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/14a8b7ff01da4589bac69cca706c025b.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcG9qYjR0QWhMZ3hEWnJUSFU3cFNpYjVyUDNFekU1b21DcTJpYmt2SmhQaWFMQktrcUFLYlhNYVFhQS82NDA_d3hfZm10PXBuZw]: /images/20211104/17f5f1a598bb4f79aaa2871af1cf6706.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHhHMEJpY21YZlpWNVZpYU5JaDFIdVkxZnVOMld0UmF6Y1lQZWthUFJEYTdlS2VYbVJQVFc0VGliUS82NDA_d3hfZm10PXBuZw]: /images/20211104/ba785e179a4a4e4184e0372f1ad55aff.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcENsZXVuMWRPNEpoSEc3Rkw2dFZpYVFBRHBzREFuamRKbUtQSE1oV0dqYWRWQXhFNnlPcGVrQXcvNjQwP3d4X2ZtdD1wbmc]: /images/20211104/9ba78aabcc6f446d80fbfc0da67f665a.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcHNXNmlhUGlhd2tpYmlhRHZkNlQ5MHljVjBSenB2cnJ4YUFNU2liNUQ5RmlhYVRZWWpNM1JxamZpYWliSnJBLzY0MD93eF9mbXQ9cG5n]: /images/20211104/1b378e083d1c42feb4f684ea2f580973.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcFBhR1lNMVFyZFV3YmhJZW0waWNzMTBXOGRrTmd1bVpuU3JlMTFUczZXUHNpY0ZwUGpqbkZycEdnLzY0MD93eF9mbXQ9cG5n]: /images/20211104/0e4810eef6a6444e9c90d73f3461e4c8.png [aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9lSDhuNHdzZVdsZDBwb1FUM1F4OUlrVTFzVUdUdWVvcEpBdXVzQ2pidGlia1dZZVdEdEExSjdVb2FsOGJOS2Fhb2hXY0hwZzRDWjNObk9idkFpYnd6aWN3Zy82NDA_d3hfZm10PXBuZw]: /images/20211104/fb52ee98798842eda5be4eb4e5c44c3a.png [2019081416303983.png]: /images/20211104/b6ca4f11c7c84c1882ea600813b8c846.png [20190805173825942.png]: https://img-blog.csdnimg.cn/20190805173825942.png
还没有评论,来说两句吧...