diff --git a/ds-base/pom.xml b/ds-base/pom.xml
index 0701c639..ddae4753 100644
--- a/ds-base/pom.xml
+++ b/ds-base/pom.xml
@@ -241,6 +241,12 @@
poi-ooxml
${poi.version}
+
+
+ org.yaml
+ snakeyaml
+ ${snakeyaml.version}
+
diff --git a/ds-base/src/main/java/com/dsideal/base/BaseApplication.java b/ds-base/src/main/java/com/dsideal/base/BaseApplication.java
index 29bd827e..b1100863 100644
--- a/ds-base/src/main/java/com/dsideal/base/BaseApplication.java
+++ b/ds-base/src/main/java/com/dsideal/base/BaseApplication.java
@@ -11,6 +11,7 @@ import com.dsideal.base.Interceptor.*;
import com.dsideal.base.LoginPerson.Controller.LoginPersonController;
import com.dsideal.base.Menu.Controller.MenuController;
import com.dsideal.base.Organization.Controller.OrganizationController;
+import com.dsideal.base.Plugin.YamlProp;
import com.dsideal.base.Student.Controller.StudentController;
import com.dsideal.base.StudentYd.Controller.StudentYdController;
import com.dsideal.base.Teacher.Controller.TeacherController;
@@ -19,7 +20,7 @@ import com.dsideal.base.Util.FileUtil;
import com.dsideal.base.Util.LogBackLogFactory;
import com.dsideal.base.Util.PkUtil;
import com.jfinal.config.*;
-import com.jfinal.kit.PropKit;
+import com.jfinal.kit.Prop;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
@@ -46,13 +47,15 @@ public class BaseApplication extends JFinalConfig {
/**
* 配置常量
*/
+ Prop PropKit;
+
@Override
public void configConstant(Constants me) {
//使用LogBack
me.setLogFactory(new LogBackLogFactory());
//加载配置文件
- String configFile = "application_{?}.properties".replace("{?}", getEnvPrefix());
- PropKit.use(configFile);
+ String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
+ PropKit = new YamlProp(configFile);
}
/**
@@ -92,6 +95,7 @@ public class BaseApplication extends JFinalConfig {
public void configEngine(Engine engine) {
}
+
/**
* 配置插件
*/
@@ -106,18 +110,18 @@ public class BaseApplication extends JFinalConfig {
@Override
public void configPlugin(Plugins me) {
- HikariCpPlugin masterPlugin = new HikariCpPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
- PropKit.get("password").trim(), PropKit.get("driverClassName"));
+ HikariCpPlugin masterPlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
+ PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
masterPlugin.setConnectionTestQuery(connectionTestQuery);
masterPlugin.setConnectionTimeout(connectionTimeoutMs);
masterPlugin.setIdleTimeout(idleTimeoutMs);
masterPlugin.setMaxLifetime(maxLifetimeMs);
masterPlugin.setMaximumPoolSize(maxPoolSize);
- String jdbcUrlSlave = PropKit.get("jdbcUrlSlave");
- if (StrKit.isBlank(jdbcUrlSlave)) jdbcUrlSlave = PropKit.get("jdbcUrl");
- HikariCpPlugin slavePlugin = new HikariCpPlugin(jdbcUrlSlave, PropKit.get("user"),
- PropKit.get("password").trim(), PropKit.get("driverClassName"));
+ String jdbcUrlSlave = PropKit.get("mysql.jdbcUrlSlave");
+ if (StrKit.isBlank(jdbcUrlSlave)) jdbcUrlSlave = PropKit.get("mysql.jdbcUrl");
+ HikariCpPlugin slavePlugin = new HikariCpPlugin(jdbcUrlSlave, PropKit.get("mysql.user"),
+ PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
slavePlugin.setConnectionTestQuery(connectionTestQuery);
slavePlugin.setConnectionTimeout(connectionTimeoutMs);
slavePlugin.setIdleTimeout(idleTimeoutMs);
@@ -148,7 +152,7 @@ public class BaseApplication extends JFinalConfig {
me.add(masterArp);
me.add(slaveArp);
// 用于缓存模块的redis服务
- RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000);
+ RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis.ip"), PropKit.getInt("redis.port"), 10 * 1000,PropKit.get("redis.password"));
//启动redis组件
me.add(redis);
}
diff --git a/ds-base/src/main/java/com/dsideal/base/Plugin/YamlProp.java b/ds-base/src/main/java/com/dsideal/base/Plugin/YamlProp.java
new file mode 100644
index 00000000..c990a100
--- /dev/null
+++ b/ds-base/src/main/java/com/dsideal/base/Plugin/YamlProp.java
@@ -0,0 +1,47 @@
+package com.dsideal.base.Plugin;
+
+import com.jfinal.kit.Prop;
+import org.yaml.snakeyaml.Yaml;
+
+import java.io.InputStream;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Properties;
+
+public class YamlProp extends Prop {
+ public YamlProp(String yamlFile) {
+ setYaml(yamlFile);
+ }
+
+ private void setYaml(String yamlFile) {
+ LinkedHashMap map = null;
+ Properties properties = new Properties();
+ InputStream in;
+ try {
+ Yaml yaml = new Yaml();
+ in = YamlProp.class.getClassLoader().getResourceAsStream(yamlFile);
+ map = yaml.loadAs(in, LinkedHashMap.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ setProperties(properties, map, "");
+ this.properties = properties;
+ }
+
+ private static void setProperties(Properties properties, Map map, String prefix) {
+ for (Object key : map.keySet()) {
+ Object value = map.get(key);
+ if (key == null) {
+ continue;
+ }
+ if (value instanceof Map) {
+ setProperties(properties, (Map) value, prefix + key + ".");
+ } else {
+ if (value == null) {
+ continue;
+ }
+ properties.setProperty(prefix + key, value.toString());
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/ds-base/src/main/resource/application_dev.properties b/ds-base/src/main/resource/application_dev.properties
deleted file mode 100644
index 47201e3c..00000000
--- a/ds-base/src/main/resource/application_dev.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# 数据库信息
-driverClassName=com.mysql.cj.jdbc.Driver
-user=root
-password=DsideaL147258369
-jdbcUrl=jdbc:mysql://10.10.14.210:22066/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
-# redis
-redis_ip=10.10.14.210
-redis_port=18890
-redis_password=
-# ==============================================================
-# 生成Token的密码
-CookieMd5SingPwd=DsideaL4r5t6y7u
-# 导出excel 的模板配置路径
-excelExportTemplatePathSuffix=/ExcelExportTemplate/
-# 导入excel 的模板配置路径
-ExcelImportTemplatePathSuffix=/ExcelImportTemplate/
-
diff --git a/ds-base/src/main/resource/application_dev.yaml b/ds-base/src/main/resource/application_dev.yaml
new file mode 100644
index 00000000..3c5889fc
--- /dev/null
+++ b/ds-base/src/main/resource/application_dev.yaml
@@ -0,0 +1,24 @@
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: root
+ password: DsideaL147258369
+ jdbcUrl : jdbc:mysql://10.10.14.210:22066/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+
+
+redis:
+ ip: 10.10.14.210
+ port: 18890
+ password:
+
+# ==============================================================
+jwt:
+ # 生成Token的密码
+ CookieMd5SingPwd: DsideaL4r5t6y7u
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/ds-base/src/main/resource/application_pro.properties b/ds-base/src/main/resource/application_pro.properties
deleted file mode 100644
index 62447393..00000000
--- a/ds-base/src/main/resource/application_pro.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# 数据库信息
-driverClassName=com.mysql.cj.jdbc.Driver
-user=ylt
-password=Ycharge666
-jdbcUrl=jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/ds_db?useUnicode=true&characterEncoding=UTF-8
-# redis
-redis_ip=r-bp14c1p5j5lkpw1jc2.redis.rds.aliyuncs.com
-redis_port=6379
-redis_password=Ycharge666
-# ==============================================================
-# 生成Token的密码
-CookieMd5SingPwd=DsideaL4r5t6y7u
-# 导出excel 的模板配置路径
-excelExportTemplatePathSuffix=/ExcelExportTemplate/
-# 导入excel 的模板配置路径
-ExcelImportTemplatePathSuffix=/ExcelImportTemplate/
\ No newline at end of file
diff --git a/ds-base/src/main/resource/application_pro.yaml b/ds-base/src/main/resource/application_pro.yaml
new file mode 100644
index 00000000..495fca29
--- /dev/null
+++ b/ds-base/src/main/resource/application_pro.yaml
@@ -0,0 +1,24 @@
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: ylt
+ password: Ycharge666
+ jdbcUrl : jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/ds_db?useUnicode=true&characterEncoding=UTF-8
+
+
+redis:
+ ip: r-bp14c1p5j5lkpw1jc2.redis.rds.aliyuncs.com
+ port: 6379
+ password: Ycharge666
+
+# ==============================================================
+jwt:
+ # 生成Token的密码
+ CookieMd5SingPwd: DsideaL4r5t6y7u
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+