Spring(30)
-
Spring Boot + thymeleaf + tailwind 설정하기
NextJs, React와 같은 프레임워크를 공부하는 것도 좋긴 하지만 빠르게 변화하다보니 학습에 대한 부담이 크다고 느껴졌다.하지만 Spring Boot + Thymeleaf 에서 BootStrap을 사용해본적이 있었다.이번에는 Spring Boot + Thymeleaf 에서 Tailwind CSS를 사용해보고자 한다. ( 개인적으로 Tailwind 가 더 이쁜듯.. )Tailwind CSS 란?홈페이지 바로가기💡 Tailwind CSS는 plex , pt-4 , text-center , rotate-90 과 같은 class로 구성된 utility-first CSS framework로, markup에서 바로 어떤 디자인이든 만들 수 있다.html에 style을 설정하는 부분을 Tailwind CSS가..
2025.04.01 -
In-memory 왜써? TestContainer쓰자!
What is TestContainer??Testcontainers is a testing library that provides easy and lightweight APIs for bootstrapping integration tests with real services wrapped in Docker containers. Using Testcontainers, you can write tests talking to the same type of services you use in production without mocks or in-memory services.번역Testcontainers는 실제 서비스를 도커(Docker) 컨테이너로 감싸 부트스트래핑 통합 테스트를 위한 쉽고 가벼운 API를 제..
2024.07.11 -
Bulk Exel Data Insert 2부
엑셀을 사용하여 Bulk 차량 등록하기 기능 구현하기 2부 1부에서는 Excel 데이터를 서버에서 요청 VS Client에서 요청 하는 부분에 대해서 글을 작성하였다. (궁금하신 분들은 여기로 가주세요 💁🏻1부 바로가기) 2부에서는 정말 정말 많은 생각을 했었던 요청한 데이터들 차량번호, 차량코드, 등록날짜, 제조날짜, 업체, 지점들의 데이터를 어떻게 Save() 를 할 것인가...!! 에 대해서 공유해보려고한다. 가장 단순한 Save() 1부에서 언급했던 단건 차량 등록처럼 List carRequestDTO 가 들어와도 반복문을 사용해서 carRepository.save() 를 해주면 간단히 끝난다. 하지만 요청 차량이 500개면?? 실제로 이번에 400개의 차량을 등록해야하는 요청이 들어왔다. 그러면..
2022.06.20 -
Bulk Excel Data Insert 1부
엑셀을 사용하여 Bulk 차량 등록하기 기능 구현하기 차량등록하기 기능 분석 현재 다니고 있는 회사는 모빌리티 회사여서 단건 차량등록하기 기능이 있다. (ADMIN 페이지에서) 최근 운영팀에서 업체별로 등록해야하는 차량들이 증가하고 있기 때문에 여러차량들을 등록 할 수 있는 기능을 구현해달라고 기획자분에게 요청하였다. 이 기능 구현을 내가 맡게 되었는데, 기존 단건 차량 로직을 분석 후 기능을 구현하기로 하였다. 기존 단건 기능 로직 등록 요청할 때 업체 , 지점 을 DB에서 조회하여 없을 때는 InvalidParameterException 을 호출하고 있다. validateDuplicateCar 메서드로 DB에서 중복차량 검사를 하고 있다. (차량번호 Pattern은 @Vaildation 어노테이션을 ..
2022.06.20 -
Java8 Stream 특정 Key 중복제거
Java8 Stream 특정 Key 중복 제거 안녕하세요! 이번에는 제가 실무에서 겪었던 특정 키 중복제거를 위한 방법을 소개해보려고 합니다! 문제상황 엑셀 Bulk 등록을 하는 로직을 구현하는 중이었는데요! FE에서 다음과 같은 데이터를 JSON으로 배열로 보내주고 있었죠. @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class UploadExcelCarsDTO { @NotBlank(message = "잘못된 modelCode 입니다.") private String modelCode; @NotBlank(message = "잘못된 차량번호입니다.") private String number; @Min(0) @Max(9999) private ..
2022.05.30 -
RequiredArgsConstructor VS Qualifier 빈 주입
RequiredArgsConstructor VS Qualifier 빈주입 문제 Lombok의 @RequiredArgsConstructor는 final인 필수 멤버변수에 대해서, 자동으로 생성자를 만들어주는 어노테이션이다. @RequiredArgsConstructor public class Example{ @Qualifier("MyTest") private final Test test; } spring의 @Qualifier를 사용하여, 주입되는 Bean을 지정해주었지만, 다음 에러가 발생...🥲(왜..왜그러는거야..) Parameter 0 of constructor in podo.WantQuailfierAutowired required a single bean, but 2 were found: 원인 먼저 ..
2022.05.15