主题
代码生成
我们在原java应用的代码生成器(点击进入)的基础上,新增了微服务代码生成的功能,支持生成基于底座的基础服务和业务微服务。基本的使用配置请参考单体版代码生成器使用说明(点击进入),微服务的具体使用差异如下:
项目基本信息
生成内容
选项增加了微服务基础项目初始化
和微服务单项目初始化
。微服务基础项目初始化
是用来生成网关服务、认证服务及系统管理服务等基础的微服务;微服务单项目初始化
是用来生成业务微服务。
微服务的项目名称
的注意事项:
注意
- 微服务基础项目,会在项目名称的基础上加上gateway,auth,sys等后缀,例如项目名为demo-service,则网关项目名为demo-service-gateway;单独的业务微服务,项目名称与输入的保持一致。
- 微服务基础项目,会在包名的基础上加上gateway,auth,sys等后缀,例如项目包名为cn.zjtele.demo,则网关的包名为cn.zjtele.demo.gateway;单独的业务微服务,包名与输入的保持一致。
- 如果要保持业务微服务与基础微服务前缀的一只,生成基础微服务项目是,项目名称和包名铁血项目前缀即可。
数据库及表信息
添加数据库配置,该配置会写入到生成代码的配置文件中。这里需要明确的是,如果是进行微服务基础项目初始化,不用填写表配置信息,生成的代码中也不包含mapper、service等信息的;如果下拉框选择的是微服务单项目初始化,需要填写表配置信息,生成的代码中是会包含mapper、service等信息的
生成内容
选择微服务基础项目初始化
时,生成的zip包内容为三个基础微服务;选择微服务单项目初始化
时,生成的只有单个业务微服务。具体内容示例如下图:
配置修改
nacos配置修改
修改各个微服务下,resources/config-dev目录下的application.yml(dev为默认开发环境)中的nacos配置内容
yaml
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
username: nacos
password: pwd
discovery:
namespace: dev
group: demo
config:
group: demo
prefix: ${pubinfo.application.name}
namespace: dev
file-extension: yaml
注意
按照nacos的官方推荐,我们使用namespace来进行环境的区分,使用group来进行应用的分组。
nacos在创建namespace时,如果不指定id的话,默认为uuid,可以将id指定为dev、pre或者prod等。
redis配置修改
微服务环境下,需要使用redis作为分布式缓存,需要修改各个微服务下,resources/config-dev目录下的application.yml(dev为默认开发环境)中的redis配置
yaml
spring:
redis:
host: 127.0.0.1
port: 6379
password: pwd
database: 0
业务应用swagger修改
业务微服务在新增了相关接口后,需要修改resources/config目录下的application-sys-swagger.yml文件,增加相关文档扫描配置。
yaml
pubinfo:
swagger:
group:
demo:
name: xx服务接口
title: xx服务
enable: true
paths: /testDemo/**
packages-to-scan: cn.zjtele.pubinfo.demo.app.api
headers: Authorization
系统管理相关feignclient接口
系统管理微服务相关的feignclient依赖坐标如下:
xml
<dependency>
<groupId>cn.zjtele.pubinfo.cloud</groupId>
<artifactId>cloud-sys-client</artifactId>
</dependency>
具体的client接口如下:
- cn.zjtele.pubinfo.cloud.sys.dict.client.SysDictClient,字典查询client
- cn.zjtele.pubinfo.cloud.sys.rbac.client.SysRbacUserOrgClient,用户组织信息查询client
- cn.zjtele.pubinfo.cloud.sys.rbac.client.SysRbacSyncClient,rbac用户组织数据同步写入client
- cn.zjtele.pubinfo.cloud.sys.rbac.client.SysRbacDataPermissionsClient,数据权限查下client