diff --git a/pom.xml b/pom.xml
index d6987fa..73204d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,11 +54,6 @@
postgresql
runtime
-
- org.projectlombok
- lombok
- true
-
org.springframework.boot
spring-boot-starter-test
@@ -85,22 +80,4 @@
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- org.projectlombok
- lombok
-
-
-
-
-
-
-
-
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/controller/BalanceController.java b/src/main/java/dev/kamalhm/reactivepostgres/controller/BalanceController.java
index 03a30c0..6779157 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/controller/BalanceController.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/controller/BalanceController.java
@@ -3,8 +3,6 @@
import dev.kamalhm.reactivepostgres.dto.CreateBalanceWebRequest;
import dev.kamalhm.reactivepostgres.entity.Balance;
import dev.kamalhm.reactivepostgres.repository.BalanceRepository;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,15 +11,17 @@
@RestController
@RequestMapping(value = "/api/balance")
-@RequiredArgsConstructor
-@Slf4j
public class BalanceController {
private final BalanceRepository balanceRepository;
+ public BalanceController(BalanceRepository balanceRepository) {
+ this.balanceRepository = balanceRepository;
+ }
+
@PostMapping
public Mono createBalance(@RequestBody CreateBalanceWebRequest request) {
- final Balance balance = new Balance(request.getMemberId(), request.getBalance());
+ final Balance balance = new Balance(request.memberId(), request.balance());
return balanceRepository.save(balance);
}
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/controller/MemberController.java b/src/main/java/dev/kamalhm/reactivepostgres/controller/MemberController.java
index a530596..43f30c3 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/controller/MemberController.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/controller/MemberController.java
@@ -2,8 +2,6 @@
import dev.kamalhm.reactivepostgres.entity.Member;
import dev.kamalhm.reactivepostgres.repository.MemberRepository;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -19,12 +17,14 @@
@RestController
@RequestMapping(value = "/api/member")
-@RequiredArgsConstructor
-@Slf4j
public class MemberController {
private final MemberRepository memberRepository;
+ public MemberController(MemberRepository memberRepository) {
+ this.memberRepository = memberRepository;
+ }
+
@GetMapping
public Flux getAll() {
return memberRepository.findAll();
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/controller/TransactionController.java b/src/main/java/dev/kamalhm/reactivepostgres/controller/TransactionController.java
index e9f9015..c4d3bfd 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/controller/TransactionController.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/controller/TransactionController.java
@@ -3,8 +3,6 @@
import dev.kamalhm.reactivepostgres.dto.CreateTransactionWebRequest;
import dev.kamalhm.reactivepostgres.entity.Balance;
import dev.kamalhm.reactivepostgres.service.TransactionalService;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -14,12 +12,14 @@
@RestController
@RequestMapping("/api/transaction")
-@RequiredArgsConstructor
-@Slf4j
public class TransactionController {
private final TransactionalService transactionalService;
+ public TransactionController(TransactionalService transactionalService) {
+ this.transactionalService = transactionalService;
+ }
+
@PostMapping
@Transactional
public Mono createTransaction(@RequestBody CreateTransactionWebRequest request) {
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateBalanceWebRequest.java b/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateBalanceWebRequest.java
index 404ee97..45b0489 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateBalanceWebRequest.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateBalanceWebRequest.java
@@ -1,10 +1,5 @@
package dev.kamalhm.reactivepostgres.dto;
-import lombok.Data;
-@Data
-public class CreateBalanceWebRequest {
-
- private Long memberId;
- private Long balance;
+public record CreateBalanceWebRequest(Long memberId, Long balance) {
}
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateTransactionWebRequest.java b/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateTransactionWebRequest.java
index 258d60e..18a0bea 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateTransactionWebRequest.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/dto/CreateTransactionWebRequest.java
@@ -1,11 +1,4 @@
package dev.kamalhm.reactivepostgres.dto;
-import lombok.Data;
-
-@Data
-public class CreateTransactionWebRequest {
-
- private Long from;
- private Long to;
- private Long amount;
+public record CreateTransactionWebRequest(Long from, Long to, Long amount) {
}
\ No newline at end of file
diff --git a/src/main/java/dev/kamalhm/reactivepostgres/service/TransactionalService.java b/src/main/java/dev/kamalhm/reactivepostgres/service/TransactionalService.java
index d2aacca..3352567 100644
--- a/src/main/java/dev/kamalhm/reactivepostgres/service/TransactionalService.java
+++ b/src/main/java/dev/kamalhm/reactivepostgres/service/TransactionalService.java
@@ -6,26 +6,26 @@
import java.util.Random;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import reactor.core.publisher.Mono;
import reactor.util.function.Tuple2;
-@RequiredArgsConstructor
@Service
-@Slf4j
public class TransactionalService {
private final BalanceRepository balanceRepository;
+ public TransactionalService(BalanceRepository balanceRepository) {
+ this.balanceRepository = balanceRepository;
+ }
+
@Transactional
public Mono doTransaction(CreateTransactionWebRequest request) {
- Long amount = request.getAmount();
+ Long amount = request.amount();
- return Mono.zip(balanceRepository.findByMemberId(request.getFrom()),
- balanceRepository.findByMemberId(request.getTo()))
+ return Mono.zip(balanceRepository.findByMemberId(request.from()),
+ balanceRepository.findByMemberId(request.to()))
.flatMap(balanceTuple -> executeTransaction(balanceTuple, amount));
}
@@ -42,7 +42,6 @@ private Mono increaseBalance(Balance toBalance, Long amount) {
}
private Mono increaseBalance(Balance toBalance, Long amount, Double randomValue) {
- log.info("random value {}", randomValue);
if (randomValue < 0.5) {
return Mono.error(new RuntimeException("randomized error"));
}
@@ -72,5 +71,4 @@ private Mono deductBalance(Balance fromBalance, Long amount) {
return balanceRepository.save(updatedBalance);
}
-
}
diff --git a/src/test/java/dev/kamalhm/reactivepostgres/MemberControllerTest.java b/src/test/java/dev/kamalhm/reactivepostgres/MemberControllerTest.java
index d007b38..70816a0 100644
--- a/src/test/java/dev/kamalhm/reactivepostgres/MemberControllerTest.java
+++ b/src/test/java/dev/kamalhm/reactivepostgres/MemberControllerTest.java
@@ -4,7 +4,6 @@
import dev.kamalhm.reactivepostgres.repository.MemberRepository;
import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
-import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,7 +21,6 @@
@SpringBootTest
@AutoConfigureWebTestClient
-@Slf4j
@ActiveProfiles(profiles = "test")
class MemberControllerTest {
@@ -63,7 +61,6 @@ private void insertData() {
memberRepository.deleteAll()
.thenMany(memberFlux)
.flatMap(memberRepository::save)
- .doOnNext(member -> log.info("inserted {}", member))
.blockLast();
}