diff --git a/build.gradle b/build.gradle index 51421d592..d007f5c3f 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,10 @@ plugins { id 'java' } -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' +ext { + springBootVersion = '3.4.0' + springDependencyManagementVersion = '1.1.5' +} java { toolchain { @@ -11,17 +13,8 @@ java { } } -configurations { - compileOnly { - extendsFrom annotationProcessor - } -} - -repositories { - mavenCentral() -} - subprojects { // 모든 하위 모듈들에 이 설정을 적용합니다. + group 'com.whoz_in' version '0.0.1-SNAPSHOT' @@ -38,15 +31,21 @@ subprojects { // 모든 하위 모듈들에 이 설정을 적용합니다. mavenCentral() } - dependencies { // 모든 하위 모듈에 추가 될 의존성 목록 - // for Spring DI - compileOnly 'org.springframework:spring-context:6.1.13' + dependencies { + // spring BOM + implementation platform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") + + // for DI + compileOnly 'org.springframework:spring-context' //lombok compileOnly 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30' + testImplementation 'com.tngtech.archunit:archunit-junit5:1.3.0' + testImplementation platform('org.junit:junit-bom:5.10.0') + testImplementation 'org.junit.jupiter:junit-jupiter' } test { diff --git a/modules/domain/build.gradle b/modules/domain/build.gradle index 2c5bea5e4..e69de29bb 100644 --- a/modules/domain/build.gradle +++ b/modules/domain/build.gradle @@ -1,21 +0,0 @@ -plugins { - id 'java' -} - -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' - -jar.enabled = true - -repositories { - mavenCentral() -} - -dependencies { - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() -} \ No newline at end of file diff --git a/modules/infrastructure/api-query-jpa/build.gradle b/modules/infrastructure/api-query-jpa/build.gradle index 5f70a596f..14ef1bb25 100644 --- a/modules/infrastructure/api-query-jpa/build.gradle +++ b/modules/infrastructure/api-query-jpa/build.gradle @@ -1,23 +1,5 @@ -plugins { - id 'java' -} - -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' - -repositories { - mavenCentral() -} - dependencies { compileOnly project(":modules:main-api") - compileOnly 'org.springframework.boot:spring-boot-starter-data-jpa:3.3.5' - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() + compileOnly 'org.springframework.boot:spring-boot-starter-data-jpa' } \ No newline at end of file diff --git a/modules/infrastructure/domain-jpa/build.gradle b/modules/infrastructure/domain-jpa/build.gradle index 2b04d8098..7fbf660c4 100644 --- a/modules/infrastructure/domain-jpa/build.gradle +++ b/modules/infrastructure/domain-jpa/build.gradle @@ -1,24 +1,6 @@ -plugins { - id 'java' -} - -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' - -repositories { - mavenCentral() -} - dependencies { compileOnly project(':modules:domain') - implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.3.5' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j:8.3.0' - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() } \ No newline at end of file diff --git a/modules/infrastructure/domain-jpa/src/main/java/com/whoz_in/domain_jpa/config/EnvConfig.java b/modules/infrastructure/domain-jpa/src/main/java/com/whoz_in/domain_jpa/config/EnvConfig.java deleted file mode 100644 index 0b27d1d9f..000000000 --- a/modules/infrastructure/domain-jpa/src/main/java/com/whoz_in/domain_jpa/config/EnvConfig.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.whoz_in.domain_jpa.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; - -@Configuration -@PropertySource("classpath:/env.properties") -public class EnvConfig {} diff --git a/modules/infrastructure/domain-jpa/src/main/resources/application-domain-jpa.yml b/modules/infrastructure/domain-jpa/src/main/resources/application-domain-jpa.yml index d1729a5ff..cd1c02444 100644 --- a/modules/infrastructure/domain-jpa/src/main/resources/application-domain-jpa.yml +++ b/modules/infrastructure/domain-jpa/src/main/resources/application-domain-jpa.yml @@ -1,6 +1,8 @@ spring: jpa: open-in-view: false + config: + import: "classpath:env-domain-jpa.properties" domain-jpa: datasource: diff --git a/modules/infrastructure/log-writer/build.gradle b/modules/infrastructure/log-writer/build.gradle index eb83b5b2d..97d0c7216 100644 --- a/modules/infrastructure/log-writer/build.gradle +++ b/modules/infrastructure/log-writer/build.gradle @@ -1,25 +1,7 @@ -plugins { - id 'java' -} - -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' - -repositories { - mavenCentral() -} - dependencies { - implementation 'org.springframework.boot:spring-boot-starter-jdbc:3.3.5' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' + implementation 'org.springframework.boot:spring-boot-starter-jdbc' + implementation 'com.fasterxml.jackson.core:jackson-databind' runtimeOnly 'com.mysql:mysql-connector-j:8.3.0' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:3.1.4' - - testImplementation platform('org.junit:junit-bom:5.10.0') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() } \ No newline at end of file diff --git a/modules/infrastructure/logging/build.gradle b/modules/infrastructure/logging/build.gradle index 127dee427..0e182ce50 100644 --- a/modules/infrastructure/logging/build.gradle +++ b/modules/infrastructure/logging/build.gradle @@ -1,23 +1,5 @@ -plugins { - id 'java' -} - -group = 'com.whoz_in' -version = '0.0.1-SNAPSHOT' - -repositories { - mavenCentral() -} - dependencies { + implementation 'ch.qos.logback:logback-classic' + implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'org.apache.httpcomponents:httpclient:4.5.14' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' - implementation 'ch.qos.logback:logback-classic:1.5.11' - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() } \ No newline at end of file diff --git a/modules/main-api/build.gradle b/modules/main-api/build.gradle index 17bb47091..57e6b2c8b 100644 --- a/modules/main-api/build.gradle +++ b/modules/main-api/build.gradle @@ -1,17 +1,12 @@ plugins { - id 'java' - id 'org.springframework.boot' version "3.3.5" - id 'io.spring.dependency-management' version '1.1.5' + id 'org.springframework.boot' version "${springBootVersion}" + id 'io.spring.dependency-management' version "${springDependencyManagementVersion}" } -group = 'com.whoz_in' version = '0.0.1-SNAPSHOT' jar.enabled = true -repositories { - mavenCentral() -} dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' @@ -29,12 +24,4 @@ dependencies { //main-api 구현 모듈 (runtimeOnly - 순환 의존 방지) runtimeOnly project(":modules:infrastructure:api-query-jpa") - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - - -test { - useJUnitPlatform() } \ No newline at end of file diff --git a/modules/main-api/src/main/java/com/whoz_in/main_api/command/device/application/DeviceAddHandler.java b/modules/main-api/src/main/java/com/whoz_in/main_api/command/device/application/DeviceAddHandler.java index a1033d271..ec08049ea 100644 --- a/modules/main-api/src/main/java/com/whoz_in/main_api/command/device/application/DeviceAddHandler.java +++ b/modules/main-api/src/main/java/com/whoz_in/main_api/command/device/application/DeviceAddHandler.java @@ -7,6 +7,7 @@ import com.whoz_in.domain.device.model.Device; import com.whoz_in.domain.shared.event.EventBus; import lombok.RequiredArgsConstructor; +import org.springframework.transaction.annotation.Transactional; @Handler @RequiredArgsConstructor @@ -14,6 +15,7 @@ public class DeviceAddHandler extends CommandHandler { private final RequesterInfo requesterInfo; private final DeviceRepository repository; private final EventBus eventBus; + @Transactional @Override public void handle(DeviceAdd command) { Device device = Device.create( diff --git a/modules/main-api/src/main/java/com/whoz_in/main_api/command/member/presentation/MemberController.java b/modules/main-api/src/main/java/com/whoz_in/main_api/command/member/presentation/MemberController.java index 3993c5084..6ab90d088 100644 --- a/modules/main-api/src/main/java/com/whoz_in/main_api/command/member/presentation/MemberController.java +++ b/modules/main-api/src/main/java/com/whoz_in/main_api/command/member/presentation/MemberController.java @@ -1,5 +1,6 @@ package com.whoz_in.main_api.command.member.presentation; +import com.whoz_in.main_api.command.device.application.DeviceAdd; import com.whoz_in.main_api.shared.presentation.CommandQueryController; import com.whoz_in.main_api.shared.application.command.CommandBus; import com.whoz_in.main_api.shared.application.query.QueryBus; @@ -19,7 +20,6 @@ public String getClientIp(HttpServletRequest request) { String httpXForwardedFor2 = request.getHeader("HTTP_X_Forwarded_For"); String xRealIp = request.getHeader("X-Real-IP"); String remoteAddr = request.getRemoteAddr(); - StringBuilder result = new StringBuilder(); result.append("X-Forwarded-For: ").append(xForwardedFor).append("\n"); result.append("HTTP-X-Forwarded-For: ").append(httpXForwardedFor).append("\n"); @@ -27,6 +27,7 @@ public String getClientIp(HttpServletRequest request) { result.append("X-Real-IP: ").append(xRealIp).append("\n"); result.append("RemoteAddr: ").append(remoteAddr).append("\n"); + dispatch(new DeviceAdd("11:11:11:11:11:11", "111.111.111.111")); return result.toString(); } } diff --git a/modules/master-api/build.gradle b/modules/master-api/build.gradle index c25e100e9..62d34d5a4 100644 --- a/modules/master-api/build.gradle +++ b/modules/master-api/build.gradle @@ -1,29 +1,16 @@ plugins { - id 'java' - id 'org.springframework.boot' version "3.3.5" - id 'io.spring.dependency-management' version '1.1.5' + id 'org.springframework.boot' version "${springBootVersion}" + id 'io.spring.dependency-management' version "${springDependencyManagementVersion}" } -group = 'com.whoz_in' version = '0.0.1-SNAPSHOT' jar.enabled = true -repositories { - mavenCentral() -} - dependencies { implementation project(':modules:main-api') implementation project(':modules:network-api') implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' - - testImplementation platform('org.junit:junit-bom:5.9.1') - testImplementation 'org.junit.jupiter:junit-jupiter' -} - -test { - useJUnitPlatform() } \ No newline at end of file diff --git a/modules/network-api/build.gradle b/modules/network-api/build.gradle index 4dd344ec1..312ae9624 100644 --- a/modules/network-api/build.gradle +++ b/modules/network-api/build.gradle @@ -1,38 +1,16 @@ plugins { - id 'java' - id 'org.springframework.boot' version "3.3.5" - id 'io.spring.dependency-management' version '1.1.5' + id 'org.springframework.boot' version "${springBootVersion}" + id 'io.spring.dependency-management' version "${springDependencyManagementVersion}" } -group = 'com.whoz_in' version = '0.0.1-SNAPSHOT' jar.enabled = true -repositories { - mavenCentral() -} -configurations { - compileOnly { - extendsFrom annotationProcessor - } -} - -repositories { - mavenCentral() -} - dependencies { implementation project(':modules:infrastructure:logging') implementation project(':modules:infrastructure:log-writer') implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -test { - useJUnitPlatform() -} +} \ No newline at end of file