add export config

This commit is contained in:
Timi
2026-04-08 11:56:07 +08:00
parent 8947269351
commit ef192daa93
10 changed files with 95 additions and 194 deletions

View File

@@ -1,10 +1,6 @@
package com.imyeyu.api;
import com.imyeyu.io.IO;
import com.imyeyu.java.TimiJava;
import com.imyeyu.java.bean.Language;
import com.imyeyu.java.ref.Ref;
import com.imyeyu.spring.TimiSpring;
import com.imyeyu.utils.OS;
import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
@@ -13,7 +9,6 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.env.Environment;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.io.File;
@@ -31,8 +26,6 @@ import java.io.File;
@EnableTransactionManagement
public class TimiServerAPI implements OS.FileSystem, ApplicationContextAware {
private static final String DEV_LANG_CONFIG = "dev.lang";
public static ApplicationContext applicationContext;
@Override
@@ -40,32 +33,18 @@ public class TimiServerAPI implements OS.FileSystem, ApplicationContextAware {
TimiServerAPI.applicationContext = applicationContext;
}
public static Language.Enum getUserLanguage() {
Language.Enum userLanguage = TimiSpring.getLanguage();
Environment env = applicationContext.getBean(Environment.class);
if (env.containsProperty(DEV_LANG_CONFIG)) {
String property = env.getProperty(DEV_LANG_CONFIG);
if (TimiJava.isNotEmpty(property)) {
userLanguage = Ref.toType(Language.Enum.class, property);
}
}
return userLanguage;
}
public static void main(String[] args) {
try {
{
// 导出配置
String[] files = {"application.yml", "logback.xml"};
for (int i = 0; i < files.length; i++) {
File file = new File("config" + SEP + files[i]);
if (!file.exists() || !file.isFile()) {
log.info("exporting default config at {}", file.getAbsolutePath());
IO.resourceToDisk(TimiServerAPI.class, files[i], file.getAbsolutePath());
}
File application = new File("config" + SEP + "application.yml");
if (!application.exists()) {
IO.resourceToDisk(TimiServerAPI.class, "application_export.yml", application.getAbsolutePath());
}
File logback = new File("config" + SEP + "logback.xml");
if (!logback.exists()) {
IO.resourceToDisk(TimiServerAPI.class, "logback.xml", logback.getAbsolutePath());
}
}
// 启动 SpringBoot
SpringApplication.run(TimiServerAPI.class, args);
} catch (Exception e) {