From 088dc1bf0995911b3562f35cb81f8a9be58690df Mon Sep 17 00:00:00 2001
From: yuejiajun <1530620364@qq.com>
Date: Mon, 29 Sep 2025 16:52:56 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 11 +++++++
.../springdoc/OpenApiStarterOutput.java | 32 +++++++++++++++++++
.../demo/common/config/web/WebConfig.java | 13 ++++++++
src/main/resources/application.yml | 8 +++--
.../core/draft/ApplicationTest__04.java | 8 +++--
5 files changed, 66 insertions(+), 6 deletions(-)
create mode 100644 src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java
create mode 100644 src/main/java/com/example/demo/common/config/web/WebConfig.java
diff --git a/pom.xml b/pom.xml
index ae73db0..ae76ffc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -258,8 +258,19 @@
src/main/resources
+
**/**/*.j2
+
**/*.xml
+
+ **/*.yml
+ **/*.yaml
+ **/*.properties
+
+ **/*.ico
+ **/*.css
+ **/*.js
+ **/*.html
false
diff --git a/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java b/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java
new file mode 100644
index 0000000..98e3c71
--- /dev/null
+++ b/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java
@@ -0,0 +1,32 @@
+package com.example.demo.common.config.springdoc;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.autoconfigure.web.ServerProperties;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+
+@Component
+@RequiredArgsConstructor
+public class OpenApiStarterOutput implements CommandLineRunner {
+
+ private final ServerProperties serverProperties;
+ private final Environment environment;
+
+ @Override
+ public void run(String... args) throws Exception {
+ String pathInYaml = "server.servlet.context-path";
+ String portInYaml = "server.port";
+
+ String port = environment.getProperty(portInYaml, "8080");
+ String path = environment.getProperty(pathInYaml, "");
+
+ // 获取当前激活的环境(如dev、test、prod)
+ String[] activeProfiles = environment.getActiveProfiles();
+ String activeProfile = activeProfiles.length > 0 ? activeProfiles[0] : "default";
+
+ // 输出包含环境信息和动态端口的API文档地址
+ System.out.printf("当前环境: %s,API文档地址: http://localhost:%s%s/doc.html#/%n",
+ activeProfile, port, path);
+ }
+}
diff --git a/src/main/java/com/example/demo/common/config/web/WebConfig.java b/src/main/java/com/example/demo/common/config/web/WebConfig.java
new file mode 100644
index 0000000..fe22752
--- /dev/null
+++ b/src/main/java/com/example/demo/common/config/web/WebConfig.java
@@ -0,0 +1,13 @@
+package com.example.demo.common.config.web;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ // ignore
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7219c11..6404b2f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,8 +1,8 @@
# 服务器配置
server:
- port: 8080
- servlet:
- context-path: /parser
+ port: 19290
+# servlet:
+# context-path: /parser
# 通用 log 输出配置
logging:
@@ -21,6 +21,8 @@ spring:
max-file-size: 10MB
max-request-size: 10MB
profiles:
+ # active: orm,h2,sqlite,springdoc
+ # active: ${spring.profiles.group.dev}
active: dev
group:
dev: orm,h2,sqlite,springdoc
diff --git a/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java b/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java
index 495e163..e556345 100644
--- a/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java
+++ b/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java
@@ -44,7 +44,7 @@ public class ApplicationTest__04 {
@SneakyThrows
@Test
- @DisplayName("testOne - 多层级XML(草稿04) - 【已验证】")
+ @DisplayName("testOne - 多层级XML并写入文件(草稿04) - 【已验证】")
public void testOne() {
List dataList = new ArrayList<>() {{
@@ -57,6 +57,7 @@ public class ApplicationTest__04 {
String inputTemplateData = prefix + "default.json";
String inputData = prefix + dataList.get(new Random().nextInt(dataList.size()));
String processJSONFile = "output-transformed-cg-003__04.json";
+ String processTextFile = "output-transformed-cg-003__04.txt";
// Step.1
try {
@@ -92,8 +93,9 @@ public class ApplicationTest__04 {
// Step.3
Map demoData = JSON.parseObject(result, Map.class);
System.out.println("=== 测试动态模板 ===");
- String result1 = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2");
- System.out.println(result1);
+ String content = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2");
+ System.out.println(content);
+ Files.writeString(Path.of(processTextFile), content, StandardCharsets.UTF_8);
}
}