본문 바로가기
728x90

java112

[Java] private 생성자나 열거 타입으로 싱글턴 보증하기 - 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말함. - 싱글턴의 예로는 무상태 객체나 설계상 유일해야 하는 시스템 컴포넌트. - 클래스를 싱글턴으로 만들면 테스트가 어려워 질 수 있음. -> 타입을 인터페이스로 정의한 다음 그 인터페이스를 구현해서 만든 싱글턴이 아니라면 싱글턴 인스턴스를 Mock 구현으로 대체할 수 없기 때문. - 싱글턴을 만드는 방식은 2가지. - 두 방식 모두 생성자는 privated으로 생성 - 유일한 인스턴스에 접근할 수 있는 수단으로 public staitic 멤버를 생성해둔다. 1. public static 멤버가 final 필드인 방식 public class Member { public static final Member INSTANCE = new Memb.. 2023. 1. 7.
[Java] 생성자 대신 빌더 사용하기 1. 점층적 생성자 패턴 - 정적 팩토리와 생성자는 매개변수가 많을 경우 적절히 대응하기 어렵다. - 과거에는 점층적 생성자 패턴 사용 public class Member { private String name; private String email; private int age; private String address; private String phone; public Member (String name, String email) { this(name, email); } public Member (String name, String email, int age) { this(name, email, age); } public Member (String name, String email, int age,.. 2023. 1. 5.
[Java] 생성자 대신 정적 팩토리 메소드 사용하기 - 예시 코드 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } - 장점 1. 이름을 가질 수 있다. 생성자와 매개변수만으로는 리턴될 객체의 특성을 제대로 설명하기 어렵다. 예를들면 // 생성자 public class Person { public Person() {} } // 정적 팩토리 메소드 public class Person { private static Person PERSON = new Person(); private Person() {} public static final Person getInstance() { return PERSON; } } 정적 팩토리 메소드는 Person 클래스의 인.. 2023. 1. 1.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (7) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/140 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (5) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. ItemProcessor - ItemProcessor는 Reader에서 넘겨준 데이터를 개별 건으로 가공하고 처리한다. -.. 2022. 12. 23.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (6) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/139 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. ItemWriter public interface ItemWriter { /** * Process the supplied .. 2022. 12. 20.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (5) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/136 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com - Spring Batch는 Chunk 지향 처리를 하고 있다. - Spring Batch는 Job과 Step으로 구성되어 있다.. 2022. 12. 18.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (4) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/136 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. Chunk란? - Chunk는 스프링 배치에서 데이터 덩어리로 작업할 때 각 커밋 사이에 처리되는 row 수를 말한다. -.. 2022. 12. 14.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (3) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/136 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. JobParameter와 Scope - 배치 실행 시 외부, 내부에서 파라미터를 받아서 사용할 수 있는데, 이 파라미터를 .. 2022. 12. 13.
[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. http://devhooney.tistory.com/135 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (1) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. Next - next()는 순차적으로 step을 연결할 때 사용된다. - 코드를 작성한다. @Slf4j @Configurat.. 2022. 12. 11.
728x90