개발용
Bean factory 본문
-디자인 패턴 : Interface와 다형성을 이용하여 클래스-객체 변환을 쉽게할 수 있음. 그러나 이 또한 소스코드를 수정해야 함
Ex) [INTERFACE_NAME] [REF_NAME] = new [CLASS_NAME(implements [INTERFACE_NAME])]
-Spring과 달리 *Context.xml파일을 생성하지 않음
-ex) BeanFactory.java파일을 생성
Ex)BeanFactory.java //받는 매개변수 이름(String)에 따라 각각 다른 CLASS-REF반환
public class BeanFactory {
public Object getBean(String beanName)
{
if(beanName.equals("samsung")){
return new SamsungTV();
}
else if(beanName.equals("lg")){
return new LgTV();
}
return null;
}
}
Ex)Client.java
public static void main(String[] args){
BeanFactory factory = new BeanFactory();
[CLASS_NAME] [REF_NAME] = ([CLASS_NAME])factory.getBean(args[0]);
//[CLASS_NAME]에 존재하는 필요한 메소드 호출
}
- Client 소스코드 수정하지 않아도 됨
- 설정에서 args목록만 수정해주면 됨 => 결합도 ↓ //BeanFactory가 적절한 객체 생성 후 반환
'개발 > WEB' 카테고리의 다른 글
[Spring] AOP (0) | 2017.01.24 |
---|---|
[Spring] 어노테이션 기반 설정 (0) | 2017.01.24 |
[Spring] DI(의존성 주입) (0) | 2017.01.24 |
[Spring] IoC (0) | 2017.01.24 |