From 15e856c7ddb4a2af41d6c5314edadcc08e002374 Mon Sep 17 00:00:00 2001 From: zichun Date: Wed, 6 May 2026 17:10:31 +0800 Subject: [PATCH] chore(mod): bootstrap spring boot skeleton REQ-MOD-001 --- backend/pom.xml | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/src/main/java/com/xly/erp/ErpApplication.java | 13 +++++++++++++ backend/src/main/resources/application-test.yml | 7 +++++++ backend/src/main/resources/application.yml | 31 +++++++++++++++++++++++++++++++ backend/src/test/java/com/xly/erp/ErpApplicationTest.java | 14 ++++++++++++++ backend/src/test/resources/application-test.yml | 7 +++++++ 6 files changed, 210 insertions(+), 0 deletions(-) create mode 100644 backend/pom.xml create mode 100644 backend/src/main/java/com/xly/erp/ErpApplication.java create mode 100644 backend/src/main/resources/application-test.yml create mode 100644 backend/src/main/resources/application.yml create mode 100644 backend/src/test/java/com/xly/erp/ErpApplicationTest.java create mode 100644 backend/src/test/resources/application-test.yml diff --git a/backend/pom.xml b/backend/pom.xml new file mode 100644 index 0000000..bdeb6a1 --- /dev/null +++ b/backend/pom.xml @@ -0,0 +1,138 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.2.5 + + + + com.xly.erp + erp-backend + 0.1.0-SNAPSHOT + jar + erp-backend + 小羚羊 ERP 后端 + + + 17 + UTF-8 + 3.5.7 + 1.5.5.Final + 5.8.27 + 10.10.0 + 1.18.32 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-security + + + + com.baomidou + mybatis-plus-spring-boot3-starter + ${mybatis-plus.version} + + + + org.flywaydb + flyway-core + ${flyway.version} + + + org.flywaydb + flyway-mysql + ${flyway.version} + + + + com.mysql + mysql-connector-j + runtime + + + + org.projectlombok + lombok + true + + + org.mapstruct + mapstruct + ${mapstruct.version} + + + + cn.hutool + hutool-all + ${hutool.version} + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.security + spring-security-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + + + org.projectlombok + lombok + ${lombok.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + org.projectlombok + lombok-mapstruct-binding + 0.2.0 + + + + + + + diff --git a/backend/src/main/java/com/xly/erp/ErpApplication.java b/backend/src/main/java/com/xly/erp/ErpApplication.java new file mode 100644 index 0000000..238305d --- /dev/null +++ b/backend/src/main/java/com/xly/erp/ErpApplication.java @@ -0,0 +1,13 @@ +package com.xly.erp; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@MapperScan("com.xly.erp.module.**.mapper") +public class ErpApplication { + public static void main(String[] args) { + SpringApplication.run(ErpApplication.class, args); + } +} diff --git a/backend/src/main/resources/application-test.yml b/backend/src/main/resources/application-test.yml new file mode 100644 index 0000000..9274cad --- /dev/null +++ b/backend/src/main/resources/application-test.yml @@ -0,0 +1,7 @@ +spring: + flyway: + enabled: true + locations: filesystem:../sql/migrations + baseline-on-migrate: true + baseline-version: 1 + baseline-description: "REQ-MOD-001 baseline (V1 already applied manually in A4)" diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml new file mode 100644 index 0000000..7a119a9 --- /dev/null +++ b/backend/src/main/resources/application.yml @@ -0,0 +1,31 @@ +server: + port: 8080 + servlet: + context-path: / + +spring: + profiles: + active: ${SPRING_PROFILES_ACTIVE:dev} + datasource: + url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_SCHEMA}?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + username: ${DB_USER} + password: ${DB_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + flyway: + enabled: true + locations: filesystem:../sql/migrations + baseline-on-migrate: true + baseline-version: 0 + validate-on-migrate: true + +mybatis-plus: + configuration: + map-underscore-to-camel-case: false + global-config: + db-config: + id-type: auto + +erp: + jwt: + secret: ${JWT_SECRET} + expires-in-seconds: 7200 diff --git a/backend/src/test/java/com/xly/erp/ErpApplicationTest.java b/backend/src/test/java/com/xly/erp/ErpApplicationTest.java new file mode 100644 index 0000000..b00c11d --- /dev/null +++ b/backend/src/test/java/com/xly/erp/ErpApplicationTest.java @@ -0,0 +1,14 @@ +package com.xly.erp; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; + +@SpringBootTest +@ActiveProfiles("test") +class ErpApplicationTest { + @Test + void contextLoads() { + // Spring ApplicationContext 启动成功 + Flyway 完成 baseline / migrate 即视为通过 + } +} diff --git a/backend/src/test/resources/application-test.yml b/backend/src/test/resources/application-test.yml new file mode 100644 index 0000000..9274cad --- /dev/null +++ b/backend/src/test/resources/application-test.yml @@ -0,0 +1,7 @@ +spring: + flyway: + enabled: true + locations: filesystem:../sql/migrations + baseline-on-migrate: true + baseline-version: 1 + baseline-description: "REQ-MOD-001 baseline (V1 already applied manually in A4)" -- libgit2 0.22.2