전체 글 122

Item2. 생성자에 매개변수가 많다면 빌더를 고려하라

🤏 정적 팩토리 메서드에 존재하는 제약사항: “선택적 매개변수가 많을 때 적절히 대응하기 어려움”  대안1. 점층적 생성자 패턴 (Telescoping Constructor Pattern)필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 선택 매개변수를 2개까지 받는 생성자, ~… → 형태로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식사용자가 설정을 원치 않는 매개변수까지 값을 지정해야 하는 경우가 자주 발생매개변수의 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어려움 → 특히, 타입이 같은 매개변수가 연달아 늘어서 있으면 찾기 어려운 버그로 이어질 수 있음 → 클라이언트가 실수로 매개변수의 순서를 바꿔 건네도 컴파일러는 알아채지 못하고 런타임에 엉뚱한 ..

[JUnit] @SpringBootTest에서 Profile 설정하기

타 시스템 데이터베이스와 연동할 일이 있어 JUnit으로 테스트를 해보려는데 서버 구동이 안되고 오류가 났다.  org.springframework.beans.factory.UnsatisfiedDependencyException...;nested exception is java.lang.NullPointerException  대충 빈 생성/주입 과정에서 오류가 난 것 같은데 NullPointerException인걸 보면 뭔가를 못 가져오고 있는 것 같았다.  오류 발생 지점 소스 코드를 확인해보니 소스코드 중 서버 구동 시점에 활성화된 profile에 따라 분기 처리를 하는 부분에서 profile을 가져오지 못해 발생한 오류였다. 로컬 서버에서 테스트중이니 간단하게 어노테이션을 사용해 로컬 프로파일을 활..

Develop/Spring 2025.02.06

Item1. 생성자 대신 정적 팩터리 메서드를 고려하라

💡정적 팩토리 메서드 (Static Factory Method)new 키워드로 생성자를 직접 호출하지 않고 Static Method를 사용해 간접적으로 생성자를 호출해 객체를 생성하는 방식 public class Sfm { private int num; private String str; // 생성자를 private으로 선언해 외부에서 호출X private Sfm(int num, String str) { this.num = num; this.str = str; } // 정적 팩토리 메서드, private으로 선언된 생성자를 호출해 인스턴스 생성 public static Sfm create(int num, String str) { ..

[React + Spring Boot] 블로그 구현

🍺 Kirris-Blog React + Spring Boot 로 블로그를 구현해봤다. ---> (GitHub Link🙋‍♀️) 포트폴리오를 만들어야 해서 기본적인 기능(CRUD, JWT Authentication)으로 일주일 안에 완성하는 것을 목표로 했으나 실제로는 열흘정도 걸렸고, 명절이 겹쳐 정리하고 리드미까지 작성하는 데 생각보다 많은 시간이 걸렸다. 리액트를 공부하면서 오히려 프론트보다는 백엔드에서 흥미를 느끼게 되었고, 처음 국비교육 끝내고 만든 게시판 보다는 제대로 된 포트폴리오의 필요성을 느껴 시작한 프로젝트다. 이번 프로젝트에서는 예외 처리를 꼼꼼하게 하려고 했고, 필터와 인터셉터 사용 등 전반적으로 코딩 및 스프링을 다루는 스킬의 향상을 담기 위해 노력했다. 또한, 첫 프로젝트에서는 비..

Develop/Spring 2021.09.24