暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

还在为生成springboot 微服务应用而烦恼吗

小汪哥写代码 2021-08-23
222

前言

在微服务大行其道的今天,我们每天都可能产生很多应用。对应基于spring boot的应用,使用JAR包方式启动,结构简单高效,不需要依赖外部TOMCAT。目前大部分微服务都是基于spring boot的应用,虽然官方提供了自动生成应用的快捷方式,但是不便于定制。基于此,总结一套代码模板。

顶层设计原则

一次打包,到处运行.应用包与具体的环境和机房彻底分离,尽量统一配置, 在此基础上尽量屏蔽框架对业务的复杂性,同时保留了灵活性和可介入性.

工程结构介绍

均为标准MAVEN项目

  • core/ 核心工程代码所在模块

  • client/ 二方库子模块,存放dubbo接口定义,常量等代码


工程图示

编写自定生成的shell 脚本

    #!/bin/sh


    if [ "$1" == "" ]; then
    echo "app name must not be empty\n"
    echo "usage:"
    echo "\tsh generate APPNAME"
    exit
    fi


    PKGNAME=`echo $1 | sed "s/-//g"`


    cp -R 你的路径/demoserver $1


    echo "now generating new project withe name $1"
    rm -fr ./$1/.git
    rm -fr ./$1/core/src/main/resources/special
    rm -fr ./$1/*.iml
    rm -fr ./$1/client/*.iml
    rm -fr ./$1/core/*.iml
    mv ./$1/client/src/main/java/com/dougwang/demoserver ./$1/client/src/main/java/com/dougwang/$PKGNAME
    mv ./$1/core/src/main/java/com/dougwang/demoserver ./$1/core/src/main/java/com/dougwang/$PKGNAME


    find ./$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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论