main
HuangHai 2 months ago
parent 0ac9a62305
commit 0fe715ca6d

@ -0,0 +1,38 @@
package com.dsideal.Config;
import com.dsideal.Res.Plugin.YamlProp;
import com.jfinal.kit.Prop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PropKit {
private static final Logger logger = LoggerFactory.getLogger(PropKit.class);
public static String getEnvPrefix() {
String myEnvVar = System.getenv("WORKING_ENV");
if (myEnvVar == null) {
myEnvVar = "dev";
}
return myEnvVar;
}
public static Prop prop;
public static String configFile;
static {
//加载配置文件
configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
prop = new YamlProp(configFile);
}
public static String get(String key) {
if (!prop.containsKey(key)) {
throw new RuntimeException("没有找到配置文件" + configFile + "中的键值:" + key);
}
return prop.get(key);
}
public static int getInt(String key) {
return prop.getInt(key);
}
}

@ -1,23 +1,21 @@
package com.dsideal.Res.Config;
import com.dsideal.Res.ResApplication;
import com.jfinal.kit.Prop;
import com.dsideal.Config.PropKit;
public class GatewayConfig {
private static final Prop prop = ResApplication.PropKit;
// 超时配置
public static final int CONNECT_TIMEOUT = prop.getInt("gateway.timeout.connect", 10000);
public static final int READ_TIMEOUT = prop.getInt("gateway.timeout.read", 30000);
public static final int WRITE_TIMEOUT = prop.getInt("gateway.timeout.write", 30000);
public static final int CONNECT_TIMEOUT = PropKit.getInt("gateway.timeout.connect");
public static final int READ_TIMEOUT = PropKit.getInt("gateway.timeout.read");
public static final int WRITE_TIMEOUT = PropKit.getInt("gateway.timeout.write");
// 连接池配置
public static final int MAX_CONNECTIONS = prop.getInt("gateway.connection.max", 5);
public static final int KEEP_ALIVE_DURATION = prop.getInt("gateway.connection.keep-alive", 300);
public static final int MAX_CONNECTIONS = PropKit.getInt("gateway.connection.max");
public static final int KEEP_ALIVE_DURATION = PropKit.getInt("gateway.connection.keep-alive");
// 安全配置
public static final String[] ALLOWED_ORIGINS = prop.get("gateway.security.cors.allowed-origins", "*").split(",");
public static final String[] ALLOWED_METHODS = prop.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(",");
public static final String[] ALLOWED_HEADERS = prop.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(",");
public static final boolean ALLOW_CREDENTIALS = prop.getBoolean("gateway.security.cors.allow-credentials", true);
public static final int MAX_AGE = prop.getInt("gateway.security.cors.max-age", 3600);}
// public static final String[] ALLOWED_ORIGINS = PropKit.get("gateway.security.cors.allowed-origins", "*").split(",");
// public static final String[] ALLOWED_METHODS = PropKit.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(",");
// public static final String[] ALLOWED_HEADERS = PropKit.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(",");
// public static final boolean ALLOW_CREDENTIALS = PropKit.getBoolean("gateway.security.cors.allow-credentials", true);
// public static final int MAX_AGE = PropKit.getInt("gateway.security.cors.max-age", 3600);
}

@ -1,6 +1,7 @@
package com.dsideal.Res.Res.Model;
import cn.hutool.core.date.DateTime;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.ResApplication;
import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
@ -164,7 +165,7 @@ public class ResourceModel {
public List<Record> getThumbs() {
//http://10.10.14.210:9000/dsideal/Thumbs/493A0236-E4E0-20DD-45EF-D1B8D997D510.png
List<Record> list = Db.findAll("t_resource_thumb");
String prefix = ResApplication.PropKit.get("minio.url") + "/Thumbs/";
String prefix = PropKit.get("minio.url") + "/Thumbs/";
for (Record record : list) {
record.set("thumb_name", prefix + record.getStr("thumb_name"));
}

@ -1,56 +1,40 @@
package com.dsideal.Res;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.Base.Controller.BaseController;
import com.dsideal.Res.Index.IndexController;
import com.dsideal.Res.Interceptor.*;
import com.dsideal.Res.Model._MappingKit;
import com.dsideal.Res.Plugin.YamlProp;
import com.dsideal.Res.Res.Controller.ResourceController;
import com.dsideal.Res.Util.FileUtil;
import com.dsideal.Res.Util.LogBackLogFactory;
import com.jfinal.config.*;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
public class ResApplication extends JFinalConfig {
private static final Logger logger = LoggerFactory.getLogger(ResApplication.class);
public static String getEnvPrefix() {
String myEnvVar = System.getenv("WORKING_ENV");
if (myEnvVar == null) {
myEnvVar = "dev";
}
return myEnvVar;
}
public static void main(String[] args) {
System.out.println("当前环境: " + getEnvPrefix());
System.out.println("当前环境: " + PropKit.getEnvPrefix());
UndertowServer.create(ResApplication.class, "undertow.properties").start();
}
/**
*
*/
public static Prop PropKit;
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
}
@Override
public void configConstant(Constants me) {
//使用LogBack
me.setLogFactory(new LogBackLogFactory());
// 设置静态根目录为上传根目录
me.setBaseUploadPath(PropKit.get("uploadTempPath"));
}
/**
@ -99,7 +83,8 @@ public class ResApplication extends JFinalConfig {
//加载
me.add(arp);
// 用于缓存模块的redis服务
RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis.ip"), PropKit.getInt("redis.port"), 10 * 1000, PropKit.get("redis.password"));
RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis.ip"),
PropKit.getInt("redis.port"), 10 * 1000, null);
//启动redis组件
me.add(redis);
}

@ -1,5 +1,6 @@
package com.dsideal.Res.Util;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.Model._MappingKit;
import com.dsideal.Res.ResApplication;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
@ -12,8 +13,8 @@ public class DbInit {
public static void Start(){
//加载数据库
DruidPlugin plugin = new DruidPlugin(ResApplication.PropKit.get("mysql.jdbcUrl"), ResApplication.PropKit.get("mysql.user"),
ResApplication.PropKit.get("mysql.password").trim(), ResApplication.PropKit.get("mysql.driverClassName"));
DruidPlugin plugin = new DruidPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
plugin.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin("master", plugin);

@ -1,5 +1,6 @@
package com.dsideal.Res.Util;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.ResApplication;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
@ -16,7 +17,7 @@ import java.util.Map;
public class JwtUtil {
public static final String AUTHORIZATION_STARTER = "Bearer ";
public static final String SECRET = ResApplication.PropKit.get("jwt.SECRET");
public static final String SECRET = PropKit.get("jwt.SECRET");
// 生成安全的密钥
private static final SecretKey key = Keys.hmacShaKeyFor(SECRET.getBytes(StandardCharsets.UTF_8));

@ -1,9 +1,9 @@
package com.dsideal.Res.Util;
import cn.hutool.core.io.FileUtil;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.Plugin.YamlProp;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.Prop;
import io.minio.GetPresignedObjectUrlArgs;
import io.minio.MinioClient;
import io.minio.SetBucketPolicyArgs;
@ -16,10 +16,7 @@ import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import static com.dsideal.Res.ResApplication.getEnvPrefix;
public class MinioUtils {
public static Prop PropKit;
public static String minio_endpoint;
public static String minio_accesskey;
public static String minio_secretkey;
@ -27,8 +24,6 @@ public class MinioUtils {
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
minio_endpoint = PropKit.get("minio.endpoint");
minio_accesskey = PropKit.get("minio.accessKey");
minio_secretkey = PropKit.get("minio.secretKey");
@ -117,10 +112,6 @@ public class MinioUtils {
}
public static void main(String[] args) throws Exception {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
MinioClient client = getMinioClient();
//测试样例
//http://10.10.14.212:9000/dsideal/%E5%AE%89%E5%90%89%E4%B8%BD%E5%A8%9C%E6%9C%B1%E8%8E%89.jpg

@ -5,6 +5,7 @@ import java.time.LocalDateTime;
import java.util.Date;
import javax.sql.DataSource;
import com.dsideal.Config.PropKit;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.activerecord.generator.Generator;
import com.jfinal.plugin.activerecord.generator.TypeMapping;
@ -19,8 +20,8 @@ import com.jfinal.plugin.druid.DruidPlugin;
public class _JFinalDemoGenerator {
public static DataSource getDataSource() {
DruidPlugin plugin = new DruidPlugin(ResApplication.PropKit.get("mysql.jdbcUrl"), ResApplication.PropKit.get("mysql.user"),
ResApplication.PropKit.get("mysql.password").trim(), ResApplication.PropKit.get("mysql.driverClassName"));
DruidPlugin plugin = new DruidPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
plugin.start();
return plugin.getDataSource();
}

@ -14,7 +14,6 @@ mysql:
redis:
ip: 10.10.14.14
port: 18890
# JWT
jwt:
SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM

Loading…
Cancel
Save