본문 바로가기

전체 글28

IntelliJ 에서 Spring Boot 프로젝트 생성하기 intelliJ 실행 후 New Project 클릭 해서 새로운 프로젝트를 생성해 줍니다. 왼쪽메뉴에서 Spring Initializr 선택 후 Project SDK 설정 한 다음에 Next 로 넘어가면 됩니다. 생성할 프로젝트의 메타데이터를 설정하는 화면입니다. Group Id 와 Artifact Id 를 설정하고 Type 은 Maven 으로 할 지, Gradle 로 할 지 선택 한 뒤 프로그래밍 언어도 선택해 줍니다. 설정이 완료 됐다면 Next 로 넘어갑니다. pom.xml 에 들어갈 dependencie 와 Spring Boot 버전을 설정할 수 있는 화면입니다. Lombok, JPA, Redis 등 개인이 필요한 것 들을 선택해 주면 됩니다. 이 후 추가로 필요한 게 생기더라도 pom.xml 에.. 2021. 1. 9.
[Effective Java 3/E] Item 3. private 생성자나 열거 타입으로 싱글턴 만들기 싱글턴 (singleton) 인스턴스를 오직 하나만 생성할 수 있는 클래스 클래스를 싱글턴으로 만들 시 이를 사용하는 클라이언트를 테스트하기 어려워질 수 있음 싱글턴을 만드는 법 private 생성자 static 멤버가 final 필드인 방식 해당 클래스가 싱글턴임이 명백히 드러남 간결함 정적 팩터리 메서드를 public static 멤버로 제공하는 방식 api 를 바꾸지 않고도 싱글턴이 아니게 변경할 수 있음 제네릭 싱글턴 팩터리로 만들 수 있음 메서드 참조를 공급자로 사용할 수 있음 private 생성자 방식으로 만든 싱글턴 클래스를 직렬화하려면 모든 인스턴스 필드를 일시적이라고 선언하고 readResolve 메서드를 제공하여 직렬화된 인스턴스를 역직렬화 할 때마다 새로운 인스턴스가 만들어지는 것을 .. 2021. 1. 6.
[Effective Java 3/E] Item 2. 빌더 패턴 점층적 생성자 패턴 (telescoping constuctor pattern) 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 n 개를 받는 생성자의 형태로 생성자를 늘려가는 방식 public class NutritionFacts{ private final int servingSize; private final int servings; private final int colories; private final int fat; private final int sodium; private final int carbonydrate; public NutritionFacts (int servingSize, int servings){ this(servingSize, servings, 0); } publ.. 2021. 1. 5.
[Effective Java 3/E] Item 1. 정적 팩터리 메서드 정적 팩터리 메서드 (static factory method) 장점 이름을 가질 수 있다 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다 정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다 단점 상속을 하려면 public 이나 protected 생성자가 필요하기 때문에 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다 정적 팩터리 메서드는 프로그래머가 찾기 어렵다 2021. 1. 4.
728x90
반응형