Skip to content

dongfangding/spring-boot-quick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring-boot-quick

启动

本地启动

如果使用JDK8以上版本, 本地添加vm options

-Ddruid.mysql.usePingMethod=false -Duser.timezone=GMT+08 -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -Dnacos_username=${NACOS_USERNAME} -Dnacos_password=${NACOS_PASSWORD} -Dnacos_server=${NACOS_SERVER} -Dnacos_key=${NACOS_KEY} -XX:+IgnoreUnrecognizedVMOptions -XX:+UseZGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs -XX:+PrintCommandLineFlags -XX:+DisableExplicitGC --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.access=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.desktop/sun.swing=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED

依赖环境

模块依赖

本项目严重依赖另外一个通用包项目,需要先clone通用包项目ddf-common,然后执行mvn install命令,将jar包安装到本地

环境安装

resources/doc目录下有一个压缩文件为docker-compose.zip, 可直接下载解压,根目录有一个docker-compose.yml 文件,可直接执行docker-compose up -d 命令,一键安装本应用所需应用环境

  • 数据库

配置文件说明

application-{profile}_bak.yml

是按传统配置文件配置方式来存储配置文件, 配置文件中会包含项目中用到的所有的配置。 而且项目中所有牵扯到敏感信息的地方都采用引用变量的方式。

变量的值是通过在服务器本地放入一个文件,在文件中生成对应的系统变量参数然后存储对应的值, 然后在脚本中应用本地文件中导入的环境变量然后传入到应用中。

这样所有的信息都不会泄露,全部存储在服务器本地。

具体可参考项目resources/doc目录下的的develop.sh脚本和env文件

application-{profile}.yml

这里采用了nacos作为配置中心来精简和复用项目中的配置文件。 项目中目前只能看到引用的dataId对应的配置文件,在nacos中的配置和上面那个配置文件中的内容是一样的, 区别一个是将配置拆分细化,方便细粒度引用。第二个,配置中依然采用的还是变量的方式。这样有一个好处, 一个是可以多应用复用(当然生产也不建议如此),第二个好处是这里采用变量之后,然后还有一个properties文件,在这里将所有的 敏感信息,参数变量的值维护到这里。这样应用只要引入这个dataId就可以获取所有环境变量信息,然后也可以很方便的通过外部配置 来控制变量信息。

需要注意的是nacos的namespace一般可以用来做环境区分, 但是上面的配置方式,我们可以取一个namespace为公共空间, 然后在这个里面只需要维护一套所有的配置就可以了。然后多个应用都是引入这个namespace和group,然后将对应的dataId引入进来。 区分多环境的事情,再交给其它正常逻辑区分的namespace为dev/pre/prod等,然后在这个里面,每个应用只需要一个properties 配置文件即可,当然如果想细分,多个也行。这样就不用重复大量的配置内容,至于多个应用的properties配置文件可以使用Group来区分

About

基于ddf-common包进行的常用功能使用方式

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published