본문 바로가기

전체 글16

정적 팩토리 메서드의 장단점 클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자 보통 Class myClass = new Class(); 이런식으로 인스턴스하여 객체 참조값을 받아서 사용한다. 이런 생성자 대신 정적 팩토리 메서드를 사용할 때 이점을 알아보자. 정적 패토리 메서드 클래스는 클라이언트에 public 생성자 대신 정적 팩토리 메서드를 제공할 수 있다. 밑에 잡소리가 길지만 한 마디로 요약하자면 정적 팩토리 메서드의 장점은 '유연성' 1 이름을 가질 수 있다 정적팩토리 메서드는 이름을 통해서 반환하는 객체가 무엇인지 직관적으로 나타낼 수 있다. ex) 'BigInteger.probablePrime()' -> 값이 소수인 BigInteger를 반환한다는 것을 더 잘 표현 2.. 2019. 4. 7.
스프링(3) - 빈 팩토리 스프링(3) - 빈 팩토리 빈을 따라가는 여행 그 세 번째. 앞에 어쩌다보니 이상한 소리만 엄청 길고, 실제로 된 거라고는 ... 빈 def 객체와 그 것을 생성하는 통합(?)클래스 빌더 뿐이 었다. 이번엔 정말로 빈을 생성해보자. 실제로 이렇게 빈을 생성하는 경우는 ... 없을 것 같지만 빌더와 팩토리가 드러나는 샘플같아서 작성해본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 public class BeanDefinitonBuilderEx { private static class SampleBean { private String property; public void setProperty(String property) {.. 2019. 3. 22.
스프링(2) - 빈 빌더 스프링(2) - 빈 빌더 빈 Def 객체가 어떤 구조로 구성되어있는지 봤으니.. 실제로 어떻게 생성되는지 봐야지 빈 생성은 구조를 살펴보니 Factory 패턴이 많다. 팩토리 패턴은 따로 정리하고, 여기서는 빈 def 빌더에 대해서 정리해보자. 빈 생성 과정을 대략적으로 상상해보자. xml 설정 파일 parsing > 빈 def 객체 생성 > factory가 빈 def 설정을 읽어서 빈 객체 생성. 스프링 처음 배울 때 sqlSession, 즉 myBatis가 이렇게 생성되는 것을 보고 많이 의아했다. 일반적인 myBatis 설정 방식은 1. xml에 DataSource 설정 2. DataSource 참조하여 SqlSessionFactoryBean 생성 3. SqlSessionFactory 참조하여 Sq.. 2019. 3. 22.
스프링(1) - Bean Definition 스프링(1) - Bean Definition 사실 스프링 자체를 공부한다기 보다는 진행하는 스터디에서 프레임워크 작업을 하다보니 디자인, 프로토타입 등 클래스 설계에 대한 지식이 부족하다고 느껴서... 이럴 땐 나보다 잘하는 누군가 써놓은 좋은 코드로 공부를 좀 해봐야겠다 싶어서 시작하는 스프링 탐색하기 다 볼 생각은 없고, bean 훓고 궁금한 것 좀 까보다가 social login 이 최종 목표! 스프링 Bean 이란? - 사실 그냥 JAVA의 객체. - 왜 그럼 이름이? 스프링의 특징을 생각해보자. IOC, DI의 특징을 가지는 스프링 컨테이너가 관리하는 객체기에 특별히 '스프링 빈'이라고 부르는 것 - UML 부터 보자 - 아 블로그 처음하다보니 레이아웃 잡는게 ㅈㄴ 힘드네 1. org.sprin.. 2019. 3. 21.