From 846d3d3020efd563b8013b31f8f48a0b3eb5c80c Mon Sep 17 00:00:00 2001 From: ysh Date: Thu, 9 Apr 2026 10:24:15 +0900 Subject: [PATCH] refactor: Upgrade Spring Boot to version 3.2.12, update dependencies to use Jakarta EE, and modify CORS filter and Swagger configuration. Adjust application YAML for Hibernate settings and import SQL files. --- build.gradle | 27 +++++++------------ .../co/mcmp/WorkflowManagerApplication.java | 2 -- .../kr/co/mcmp/config/SimpleCORSFilter.java | 6 ++--- .../java/kr/co/mcmp/config/SwaggerConfig.java | 2 -- .../config/TomcatWebServerCustomizer.java | 11 +++----- .../eventListener/entity/EventListener.java | 2 +- src/main/java/kr/co/mcmp/oss/entity/Oss.java | 2 +- .../java/kr/co/mcmp/oss/entity/OssType.java | 2 +- .../mcmp/userAction/Entity/UserActionLog.java | 2 +- .../kr/co/mcmp/workflow/Entity/Workflow.java | 2 +- .../mcmp/workflow/Entity/WorkflowHistory.java | 2 +- .../mcmp/workflow/Entity/WorkflowParam.java | 2 +- .../workflow/Entity/WorkflowParamHistory.java | 2 +- .../workflow/Entity/WorkflowStageMapping.java | 2 +- .../workflowStage/Entity/WorkflowStage.java | 2 +- .../Entity/WorkflowStageType.java | 2 +- src/main/resources/application.yaml | 9 ++----- 17 files changed, 28 insertions(+), 51 deletions(-) diff --git a/build.gradle b/build.gradle index 397f9cb..588f3e0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id 'java' - id 'org.springframework.boot' version '2.7.9' + id 'org.springframework.boot' version '3.2.12' id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'com.google.cloud.tools.jib' version '3.3.1' } @@ -24,9 +24,7 @@ dependencies { implementation 'org.springframework.session:spring-session-core' implementation 'com.squareup.okhttp3:okhttp:4.10.0' - // https://mvnrepository.com/artifact/com.h2database/h2 - // 시작 시 drop TABLE관련 버그로 1.4.200 -> 1.4.199 - implementation group: 'com.h2database', name: 'h2', version: '1.4.199' + implementation 'com.h2database:h2' //implementation 'org.projectlombok:lombok:1.18.26' // lombok이 제대로 작동되지 않으면 아래처럼(@Getter/@Setter등이 안먹을때) compileOnly group : 'org.projectlombok', name: 'lombok', version: '1.18.22' @@ -37,35 +35,23 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' - implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.18' implementation('org.json:json:20180813') implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5' implementation group: 'com.jcraft', name: 'jsch', version: '0.1.55' - implementation('io.springfox:springfox-swagger2:2.6.1') - implementation('io.springfox:springfox-swagger-ui:2.6.1') //implementation('org.mariadb.jdbc:mariadb-java-client') //implementation('org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.1') implementation group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '5.7.0.202003110725-r' implementation group: 'org.w3c', name: 'dom', version: '2.3.0-jaxb-1.0.6' - implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' - - implementation group: 'org.yaml', name: 'snakeyaml', version: '1.30' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0' // skip openshift ssl certificate verfication implementation 'org.apache.httpcomponents:httpclient:4.5.12' // additional implementation 'org.apache.commons:commons-lang3:3.9' - // 취약점 처리 22.07.05 - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.13.3' - implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: '2.13.3' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.13.3' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.3' - implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.13.3' - implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.13.3' implementation group: 'commons-io', name: 'commons-io', version: '2.11.0' implementation group: 'junit', name: 'junit', version: '4.13.2' implementation 'javax.xml.bind:jaxb-api:2.3.1' @@ -74,7 +60,12 @@ dependencies { // Jenkins 2024-07-16 //Jenkins-Rest ( https://github.com/cdancy/jenkins-rest ) - implementation 'io.github.cdancy:jenkins-rest:1.0.1:all' + implementation('io.github.cdancy:jenkins-rest:1.0.1:all') { + exclude group: 'com.fasterxml.jackson.core' + exclude group: 'com.fasterxml.jackson.datatype' + exclude group: 'com.fasterxml.jackson.dataformat' + } + implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml' diff --git a/src/main/java/kr/co/mcmp/WorkflowManagerApplication.java b/src/main/java/kr/co/mcmp/WorkflowManagerApplication.java index 11251fe..e51963e 100644 --- a/src/main/java/kr/co/mcmp/WorkflowManagerApplication.java +++ b/src/main/java/kr/co/mcmp/WorkflowManagerApplication.java @@ -2,12 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.io.UnsupportedEncodingException; import java.security.GeneralSecurityException; -@EnableSwagger2 @SpringBootApplication public class WorkflowManagerApplication { public static void main(String[] args) throws GeneralSecurityException, UnsupportedEncodingException { diff --git a/src/main/java/kr/co/mcmp/config/SimpleCORSFilter.java b/src/main/java/kr/co/mcmp/config/SimpleCORSFilter.java index 6155e6b..7f1a552 100644 --- a/src/main/java/kr/co/mcmp/config/SimpleCORSFilter.java +++ b/src/main/java/kr/co/mcmp/config/SimpleCORSFilter.java @@ -4,9 +4,9 @@ import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; /** diff --git a/src/main/java/kr/co/mcmp/config/SwaggerConfig.java b/src/main/java/kr/co/mcmp/config/SwaggerConfig.java index 5f2e2ee..54f8536 100644 --- a/src/main/java/kr/co/mcmp/config/SwaggerConfig.java +++ b/src/main/java/kr/co/mcmp/config/SwaggerConfig.java @@ -8,10 +8,8 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration -@EnableSwagger2 @OpenAPIDefinition(info = @Info(title = "M-CMP API", version = "v1")) public class SwaggerConfig { diff --git a/src/main/java/kr/co/mcmp/config/TomcatWebServerCustomizer.java b/src/main/java/kr/co/mcmp/config/TomcatWebServerCustomizer.java index 1d97ab0..4e2addc 100644 --- a/src/main/java/kr/co/mcmp/config/TomcatWebServerCustomizer.java +++ b/src/main/java/kr/co/mcmp/config/TomcatWebServerCustomizer.java @@ -1,7 +1,5 @@ package kr.co.mcmp.config; -import org.apache.catalina.connector.Connector; -import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.stereotype.Component; @@ -11,11 +9,8 @@ public class TomcatWebServerCustomizer implements WebServerFactoryCustomizer + connector.setProperty("relaxedQueryChars", "|{}[]") + ); } } diff --git a/src/main/java/kr/co/mcmp/eventListener/entity/EventListener.java b/src/main/java/kr/co/mcmp/eventListener/entity/EventListener.java index ba6d737..0cbad90 100644 --- a/src/main/java/kr/co/mcmp/eventListener/entity/EventListener.java +++ b/src/main/java/kr/co/mcmp/eventListener/entity/EventListener.java @@ -3,7 +3,7 @@ import kr.co.mcmp.workflow.Entity.Workflow; import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/oss/entity/Oss.java b/src/main/java/kr/co/mcmp/oss/entity/Oss.java index c895743..6ec47a7 100644 --- a/src/main/java/kr/co/mcmp/oss/entity/Oss.java +++ b/src/main/java/kr/co/mcmp/oss/entity/Oss.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/oss/entity/OssType.java b/src/main/java/kr/co/mcmp/oss/entity/OssType.java index dc0fc47..3e13518 100644 --- a/src/main/java/kr/co/mcmp/oss/entity/OssType.java +++ b/src/main/java/kr/co/mcmp/oss/entity/OssType.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/userAction/Entity/UserActionLog.java b/src/main/java/kr/co/mcmp/userAction/Entity/UserActionLog.java index 8241bf3..8988bd7 100644 --- a/src/main/java/kr/co/mcmp/userAction/Entity/UserActionLog.java +++ b/src/main/java/kr/co/mcmp/userAction/Entity/UserActionLog.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Entity diff --git a/src/main/java/kr/co/mcmp/workflow/Entity/Workflow.java b/src/main/java/kr/co/mcmp/workflow/Entity/Workflow.java index 97a10be..a597fe8 100644 --- a/src/main/java/kr/co/mcmp/workflow/Entity/Workflow.java +++ b/src/main/java/kr/co/mcmp/workflow/Entity/Workflow.java @@ -3,7 +3,7 @@ import kr.co.mcmp.oss.entity.Oss; import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowHistory.java b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowHistory.java index df281fc..d3f8283 100644 --- a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowHistory.java +++ b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowHistory.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Entity diff --git a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParam.java b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParam.java index 3293c95..de4ab21 100644 --- a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParam.java +++ b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParam.java @@ -3,7 +3,7 @@ import lombok.*; import org.hibernate.annotations.ColumnDefault; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParamHistory.java b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParamHistory.java index 3d58d57..df00ea6 100644 --- a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParamHistory.java +++ b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowParamHistory.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Entity diff --git a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowStageMapping.java b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowStageMapping.java index df6ace4..746b6da 100644 --- a/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowStageMapping.java +++ b/src/main/java/kr/co/mcmp/workflow/Entity/WorkflowStageMapping.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStage.java b/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStage.java index 740314e..2ed4e75 100644 --- a/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStage.java +++ b/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStage.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStageType.java b/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStageType.java index 1a4ec85..e5ad2fa 100644 --- a/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStageType.java +++ b/src/main/java/kr/co/mcmp/workflowStage/Entity/WorkflowStageType.java @@ -2,7 +2,7 @@ import lombok.*; -import javax.persistence.*; +import jakarta.persistence.*; @Entity @Getter diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 556a898..3bf4eb2 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -21,26 +21,21 @@ spring: settings: web-allow-others: true # 원격연결(배포 후 외부에서) 허용 jpa: - database-platform: org.hibernate.dialect.H2Dialect hibernate: ddl-auto: ${DB_INIT_YN:update} properties: hibernate: - dialect: org.hibernate.dialect.H2Dialect format_sql: true show_sql: true - hbm2ddl: # 처음에 더미데이터등을 넣기위해 sql을 실행 - #import_files: ./data.sql # 확인필요 + hbm2ddl: import_files: classpath:import.sql - import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor # 멀티 라인 입력 가능하도록 connection: - charSet: UTF-8 # 인코딩 설정 + charSet: UTF-8 sql: init: data-locations: classpath:import.sql mode: always # ${SQL_DATA_INIT:never} platform: h2 - #schema-locations: classpath:ddl.sql servlet: multipart: