当前位置: 首页 > news >正文

企业网站建设套餐 网络服务培训机构咨询

企业网站建设套餐 网络服务,培训机构咨询,网站连接如何做二维码,青岛模板化网站继之前的 专题系列课程#xff1a; ​​从零开始搭建grpc分布式应用​​完整DEMO#xff1a;​​基于Springboot的Rpc服务端开发脚手架(base-grpc-framework)​​ 后带来一款项目自动手成工具#xff08;由于包路径等原因#xff0c;完整demo想应用在实际开发中需要改很多代… 继之前的 专题系列课程 ​​从零开始搭建grpc分布式应用​​完整DEMO​​基于Springboot的Rpc服务端开发脚手架(base-grpc-framework)​​ 后带来一款项目自动手成工具由于包路径等原因完整demo想应用在实际开发中需要改很多代码可以设置成自己公司的一些规定包路径等。 自动生成工具源码地址​​源码下载​​ 此为一工具默认生成java服务工程但可经过配置生成其它类型的工程或目录结构如python、recat等。此工具中自带了之前课程中提到的dao操作、http拦截、tracklog日志跟踪、exception切面处理等所有功能。可节省大量的搭建工程和基础工作的开发时间。而且生成的项目文件源文件可进行二次修改。 一、如何使用 建议下载ReleasesV1.0解压后先运行包中自带的test.sh脚本会在解压目录的/output下生成三个预置好的三个工程restful、grpc、fixed(restfulgrpc)。 sh test.sh 截图如下 二、生成自定义的工程 这一步建议选择一个预置的.setting文件进行修改配置文件说明如下 2.1、修改project.setting文件 # project config project.name base-grpc-framework #工程名称 project.groupId com.zd #对应pom文件的groupId,全工程所有模块统一 project.version 1.0-SNAPSHOT #对应pom文件的groupId,全工程所有模块统一 project.packaging jar #工程打包类型project.basePackage com.zd.baseframework #源码根目录project.app.tokenKey token #token的key用于http拦截器访问端验证用 project.app.apiPath /api/** #用于http拦截器使用#module config project.modules api, proto, app, common, core, dao #所有模块名称#模块类型可选的有 proto, api, application, common, restful, grpc, fixedpersistence #PS一个完整工程最好的实践是由API, SERVER, COMMON, APP, DAO 5个大类型的模块组成所以在同一个配置文件中会有如下互斥约束 #API模块proto, api二选一, #SERVER模块restful, grpc, fixed 三选一 #必要模块application,启动 #可选模块persistence, common 持久化和工具类 api.module.type api api.module.artifactId base-grpc-framework-apiproto.module.type proto proto.module.artifactId base-grpc-framework-protocommon.module.type common common.module.artifactId base-grpc-framework-commonapp.module.type application app.module.artifactId base-grpc-framework-appcore.module.type fixed core.module.artifactId base-grpc-framework-core core.moudle.port 18080 #http服务端口 core.moudle.grpc.port 9090 #grpc服务端口dao.module.type persistence dao.module.artifactId base-grpc-framework-dao dao.module.mysql.dbIp 127.0.0.1 dao.module.mysql.dbPort 3306 dao.moudle.mysql.dbName badCase dao.module.mysql.dbUsername root dao.module.mysql.dbPassword 12345678 dao.module.mysql.mapper mybatis #mapper文件存放位置 2.2、生成自定义项目 java -jar grpc-framework-project-generator-1.0-SNAPSHOT-jar-with-dependencies.jar [settingproject_fixed.setting] [slt/slt/source/] setting默认值为:project.setting slt默认值为/slt/source/ 注意最后的/不要丢掉 2.3、打包运行 需要本机装有maven执行以下命令 cd /output/xxxxProject mvn clean install -Dmaven.test.skiptrue mvn clean package -Dmaven.test.skiptrue java -jar -Dspring.profiles.activedev xxxxProject.jar# Step3: Test open http://localhost:18080/swagger-ui.html 比如上述文件中 project.name base-grpc-frameworkproject.version 1.0-SNAPSHOTapp.module.artifactId base-grpc-framework-app 则执行以下命令 cd /output/base-grpc-framework mvn clean install -Dmaven.test.skiptrue mvn clean package -Dmaven.test.skiptrue java -jar -Dspring.profiles.activedev 1. base-grpc-framework-app-1. 1.0-SNAPSHOT.jar# Step3: Test open http://localhost:18080/swagger-ui.html 三、配置符合公司个性的默认工程 上述工具中笔者内置了一些类和文件这些文件是可以被编辑和替换的也可基于笔者内置的类来扩展。 3.1、扩展基础文件 扩展配置文件 slt/source/sltext.json因工具本身内置了一些java实现基于规范的述求一般公司对这些文件是不允许修改的如果使用部门有个性化需求的话比如增加一个基础类就可以通过这个功能来实现个性化和扩展但又不影响基础版本。 {proto: [{name: GrpcAccessInterceptor.java, packagePath: /grpc/interceptor, fileType: source, fileOperatorType: create}] } [options] moduleType: proto, application, persistence, common, restful, grpc, fixed name: fileName packagePath: file path fileType: source, yml, xml or config fileOperatorType: create, copy or append 3.2、重新制定基础文件 基础文件存储路径slt/source笔者现在的版本有一个限制就是内置的文件不允许缺失只能改写否则会报错。如果想配置成公司内部的文件或对基础文件有修改可以下载笔者的源码后进行修改或是把源码中所有的配置全部删除全部用sltext.json的方式来实现 源码修改位置 com.zd.tools.project.generator.model.module 包中的所有文件下面类用于生成src/main和src/resources目录如果不需要的话可以注释掉其中的代码 com.zd.tools.project.generator.analysis.process.SettingFileConvert.configOwnAttr() 2、源码修改说明可根据文件名对应各个类型模块的配置 ModuleApi.java :对应api类型的模块 ModuleApplication.java :对应application类型的模块 ModuleCommon.java :对应common类型的模块 ModuleFixed.java :对应fixed类型的模块 ModuleGrpc.java :对应grpc类型的模块 ModulePersistence.java :对应persistence类型的模块 ModuleProto.java :对应proto类型的模块 ModuleRestful.java :对应restful类型的模块 源码如下 public class ModuleRestful extends AbstractModule {private String port;//预生成目录结构Overridepublic void configOwnDir() {super.configOwnDir();getDirs().add(getPackagePath() File.separator server);getDirs().add(getPackagePath() File.separator restful);getDirs().add(getPackagePath() File.separator StrFormatterUtil.replaceSlash(restful/config));getDirs().add(getPackagePath() File.separator StrFormatterUtil.replaceSlash(restful/advice));getDirs().add(getPackagePath() File.separator StrFormatterUtil.replaceSlash(restful/interceptor));getDirs().add(getPackagePath() File.separator StrFormatterUtil.replaceSlash(restful/model));}//预生成文件Overridepublic void configOwnSourceFile(){super.configOwnSourceFile();getSourceFiles().add(new SourceFile(log4j2.xml, getResourcesPath(), , GenEnum.fileType.config, GenEnum.fileOperatorType.copy));getSourceFiles().add(new SourceFile(RestfulHttpExceptionAdvice.java, getPackagePath(), StrFormatterUtil.replaceSlash(/restful/advice), GenEnum.fileType.source, GenEnum.fileOperatorType.create));getSourceFiles().add(new SourceFile(RestfulAccessInterceptor.java, getPackagePath(), StrFormatterUtil.replaceSlash(/restful/interceptor), GenEnum.fileType.source, GenEnum.fileOperatorType.create));getSourceFiles().add(new SourceFile(RestfulInterceptorRegister.java, getPackagePath(), StrFormatterUtil.replaceSlash(/restful/interceptor), GenEnum.fileType.source, GenEnum.fileOperatorType.create));getSourceFiles().add(new SourceFile(RestfulTokenInterceptor.java, getPackagePath(), StrFormatterUtil.replaceSlash(/restful/interceptor), GenEnum.fileType.source, GenEnum.fileOperatorType.create));getSourceFiles().add(new SourceFile(SwaggerConfig.java, getPackagePath(), StrFormatterUtil.replaceSlash(/restful/config), GenEnum.fileType.source, GenEnum.fileOperatorType.copy));getSourceFiles().add(new SourceFile(application-restful.properties,getResourcesPath(), , GenEnum.fileType.yml, GenEnum.fileOperatorType.append));getSourceFiles().add(new SourceFile(pom_restful.xml, getBasePath() ,, GenEnum.fileType.xml, GenEnum.fileOperatorType.copy));} } 3.3、编写基础文件 基础文件可参考笔者预置的文件进行修改主要是用占位符替换.java文件中的package, import和className。示例如下 package ${package}; #固定写法#common为模块类型proto, api, application, common, restful, grpc, fixedpersistence中选一个 # Module为固定后缀例子中${commonModule}表示引入common模块的一个类 import ${commonModule}.spring.ApperProperties; import ${commonModule}.spring.grpc.AbstractGrpcAccessInterceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired;/*** Title: ${package}.${className}* Description* author liudong* date 2022/1/13 4:40 PM*/ Slf4j public class ${className} extends AbstractGrpcAccessInterceptor { #固定写法Autowiredprivate ApperProperties apperProperties;Overrideprotected String tokenKey() {return apperProperties.getTokenKey();}}
http://www.zqtcl.cn/news/629662/

相关文章:

  • 网站建设有哪些环节做一个产品网站要多少钱
  • 公司网站建设价格河北网站制作 网站开发
  • 适合新手做的网站项目职业技术培训
  • 提高网站流量原则昆山做百度网站
  • 怎样设计自己的网站长春制作门户网站的公司
  • 亚马逊商标备案是否必须做网站Wordpress做APP后端
  • 主办单位性质与网站名称不符网站域名怎么买
  • 帝国cms下载类网站怎么做广州外贸营销网站建设公司
  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬
  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片
  • 上海网站备案查询建站图标素材
  • 贵州省住房和建设厅网网站网站页面设计报告
  • 做网站友汇网快速建设网站视频教程
  • 物流公司做网站注重什么官网的网站设计公司
  • 网站备案 2016电子商务平台起名
  • 济南建站详情房地产市场分析
  • 南宁品牌网站建设公司中国商业企业网
  • 建设招标网官方网站电脑版做系统简单还是网站简单
  • 网站平台建设总结品牌网页
  • 网站建设如何就接入支付宝企业云平台
  • swoole做网站做网站建设的上市公司有哪些