Skip to content

Instantly share code, notes, and snippets.

@leechoongyon
leechoongyon / ValidationControllerExample.java
Last active January 1, 2023 08:47
ValidationControllerExample.java
// build.gradle
implementation 'org.springframework.boot:spring-boot-starter-validation'
// controller
@Slf4j
@RestController
@RequiredArgsConstructor
public class MemberApiController {
@leechoongyon
leechoongyon / MapstructExample.md
Created December 31, 2022 08:52
MapstructExample.md
  • build.gradle
// MapStruct
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor "org.mapstruct:mapstruct-processor:1.4.2.Final"
annotationProcessor(
        'org.projectlombok:lombok',
        'org.projectlombok:lombok-mapstruct-binding:0.1.0'
)
@leechoongyon
leechoongyon / spring-boot-docker-flyway.md
Created December 19, 2022 13:57
spring-boot-docker-flyway.md

gradle

  • mysql 과 flyway 설정입니다.
runtimeOnly 'mysql:mysql-connector-java'
implementation 'org.flywaydb:flyway-core:7.10.0'

docker-compose

  • docker 설정이며, terminal 에서 아래 명령어를 수행 시, container 가 만들어집니다.
    • docker-compose -p test-db up -d
@leechoongyon
leechoongyon / InjectBeanIntoEnumTest.java
Last active December 10, 2022 04:15
InjectBeanIntoEnumTest.java
// MemberType.java
@Getter
public enum MemberType {
GOLD("골드"),
SILVER("실버")
;
private String desc;
@leechoongyon
leechoongyon / MySQL-Hint-example.sql
Last active November 29, 2022 06:42
MySQL-Hint-example.sql
# 예시에 사용된 테이블 DDL, DML
- TEAM : TEAM_MEMBER = 1 : n
- TEAM_MEMBER : MEMBER_ADDR = 1 : 1
# DDL
CREATE TABLE `team` (
`team_id` bigint NOT NULL AUTO_INCREMENT,
@leechoongyon
leechoongyon / MemberServiceUnitTest.java
Created November 26, 2022 07:54
MemberServiceUnitTest
@Component
@RequiredArgsConstructor
public class MemberServiceImpl implements MemberService {
private final MemberRepository memberRepository;
@Override
public String registerMember(MemberCommand.Create create) {
Member member = memberRepository.save(create.toEntity());
return member.getId();
@leechoongyon
leechoongyon / spring-api-integration-test.java
Last active November 26, 2022 06:58
spring-api-integration-test.java
@RestController
@RequiredArgsConstructor
public class MemberApiController {
@PostMapping("/api/v1/members")
public ResponseEntity<?> registerMember(@RequestBody MemberDto.Create create) {
return ResponseEntity.ok(create.getId());
}
@leechoongyon
leechoongyon / BigDecimalConstructTest.java
Created November 19, 2022 12:43
BigDecimalConstructTest.java
package org.example.bigdecimal;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
public class BigDecimalConstructTest {
@leechoongyon
leechoongyon / zuul-example.md
Created September 8, 2022 14:46
zuul-example.md
@SpringBootApplication
@EnableZuulProxy
public class ZuulExampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZuulExampleApplication.class, args);
    }

}
@leechoongyon
leechoongyon / StreamListToMapObjectTest.java
Created August 31, 2022 14:54
StreamListToMapObjectTest.java
public class StreamListToMapObjectTest {
@Test
@DisplayName("list를Map<String, DTO> 변환")
public void streamListToMapObjectTest01() throws Exception {
List<DtoA> list = new ArrayList<>();
list.add(new DtoA("key1", "bcde"));
list.add(new DtoA("key2", "bcde123"));
Map<String, DtoB> map =