前言
在微服务大行其道的今天,我们每天都可能产生很多应用。对应基于spring boot的应用,使用JAR包方式启动,结构简单高效,不需要依赖外部TOMCAT。目前大部分微服务都是基于spring boot的应用,虽然官方提供了自动生成应用的快捷方式,但是不便于定制。基于此,总结一套代码模板。
顶层设计原则
一次打包,到处运行.应用包与具体的环境和机房彻底分离,尽量统一配置, 在此基础上尽量屏蔽框架对业务的复杂性,同时保留了灵活性和可介入性.
工程结构介绍
均为标准MAVEN项目
core/ 核心工程代码所在模块
client/ 二方库子模块,存放dubbo接口定义,常量等代码
工程图示

编写自定生成的shell 脚本
#!/bin/shif [ "$1" == "" ]; thenecho "app name must not be empty\n"echo "usage:"echo "\tsh generate APPNAME"exitfiPKGNAME=`echo $1 | sed "s/-//g"`cp -R 你的路径/demoserver $1echo "now generating new project withe name $1"rm -fr ./$1/.gitrm -fr ./$1/core/src/main/resources/specialrm -fr ./$1/*.imlrm -fr ./$1/client/*.imlrm -fr ./$1/core/*.imlmv ./$1/client/src/main/java/com/dougwang/demoserver ./$1/client/src/main/java/com/dougwang/$PKGNAMEmv ./$1/core/src/main/java/com/dougwang/demoserver ./$1/core/src/main/java/com/dougwang/$PKGNAMEfind ./$1 -type f -name "*.java" -exec sed -i '' "s/dubbodemoserver/$PKGNAME/g" {} \;find ./$1 -type f -name "*.properties" -exec sed -i '' "s/dubbodemoserver/$1/g" {} \;find ./$1 -type f -name "app.xml" -exec sed -i '' "s/dubbodemoserver/$PKGNAME/g" {} \;find ./$1 -type f -name "pom.xml" -exec sed -i '' "s/dubbodemoserver/$1/g" {} \;find ./$1 -type f -name "assembly.xml" -exec sed -i '' "s/dubbodemoserver/$1/g" {} \;echo "all done!!!"
开心时刻
当我们需要新建应用时,只需要执行
bash generate studydemo[你的应用名字]

空应用就生成好了。
扩展性
可根据自己的实际业务需求来修改模板代码
git地址:
https://github.com/mikewang88/demoserver.git
参考
https://ke.qq.com/course/804235?tuin=5f59ab02
https://ke.qq.com/course/474850?tuin=5f59ab02
文章转载自小汪哥写代码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




