前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微服务】141:后台管理系统微服务搭建

【微服务】141:后台管理系统微服务搭建

作者头像
刘小爱
发布2020-09-04 14:38:23
7200
发布2020-09-04 14:38:23
举报
文章被收录于专栏:零基础自学Java零基础自学Java

一、创建基本微服务

这些以前就接触过,算是做一个回顾。

1创建父工程

父工程:liuxiaoai,用来管理依赖及其版本,注意是创建project,而不是module。

将所需要的依赖都导入pom文件中,子工程需要什么依赖直接能从父工程中引入。

2创建EurekaServer

注册中心,起名为:lxa-registry,直接创建maven项目,自然会继承父类的依赖。

注意是在父工程的基础上新建module:

①引入依赖:最核心的依赖eureka服务端。

②启动类上加注解

  • @EnableEurekaServer:开启Eureka服务端。
  • @SpringBootApplication:这是一个SpringBoot启动类。

③配置信息

  • 设置访问端口。
  • 设置应用的名称。
  • 设置eureka的地址。

3创建Zuul网关

同样的还是三个步骤:

①引入依赖:eureka客户端和zuul启动器。

②启动类上加注解

  • @SpringBootApplication:这是一个SpringBoot应用。
  • @EnableDiscoveryClient:开启eureka客户端。
  • @EnableCircuitBreaker:开启熔断。

其中该三个注解可以合并成一个注解:@SpringCloudApplication。

@EnableZuulProxy:开启网关

③配置信息编写

zuul配置文件较为复杂,涉及到了一个熔断和负载均衡,这个一般来说,很难自己独立记下来,所以最好的方式就是copy模板。

二、创建商品微服务

将工程命名为:lxa-item。

需要注意的是,lxa-item是一个微服务,那么将来肯定会有其它微服务需要来调用,会使用到其中的实体类。

因此这里使用聚合工程,将具体的业务处理及其相关实体类放到独立子工程中:

在lxa-item中创建两个子工程:

  • lxa-item-pojo:主要是相关实体类。
  • lxa-item-service:所有业务逻辑的处理。

这样的好处在于,如果其它的微服务要调用当前微服务,怎么办?

直接引入需要的子工程依赖就好了。

一样的也是核心三步骤:依赖引入,启动类上加注解,以及配置文件:

配置访问端口,服务名称,连接池……等。

启动后直接访问8081端口就可以了。

但是既然有网关,在网关中添加路由规则,我们不使用默认的路由规则。

具体配置规则就是在访问路径中加入item,这就相当于在商品微服务本身的访问路径上加了一层保护。

三、通用工具模块

有些工具或通用的内容,各个服务都能用,因此需要创建通用模块:lxa-common。

典型例子就是工具类的使用,引入工具类并导入对应依赖即可。

其中有一个json工具类做个说明。

它能完成json数据与Java中的数据类型的各种转换,里面包含四个方法:

①toString方法:把一个对象序列化为String类型,包含1个参数。

  • Object obj:原始java对象

②toList方法:把一个json反序列化为List类型,需要指定集合中元素类型,包含两个参数:

  • String json:要反序列化的json字符串
  • ClasseClass:集合中元素类型

③toMap方法:把一个json反序列化为Map类型,需要指定集合中key和value类型,包含三个参数:

  • String json:要反序列化的json字符串
  • Class kClass:集合中key的类型
  • Class vClass:集合中value的类型

④nativeRead方法:当反序列化的结果比较复杂时,通过这个方法转换,参数:

  • String json:要反序列化的json字符串
  • TypeReferencetype:在传参时,需要传递TypeReference的匿名内部类,把要返回的类型写在TypeReference的泛型中,则返回的就是泛型中类型

上述方法基本都是见名知义的。

此外在该模块中还需要完成异常的处理,操作起来有点麻烦,后续接着学习。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 刘小爱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建基本微服务
  • 二、创建商品微服务
  • 三、通用工具模块
  • 最后
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档