BeanFactory
◎ 팩토리 패턴을 구현하기위한 클래스이다.
◎ 빈을 생성하고 의존관계를 설정하는 기능을 담당한다.
◎ 가장 기본적인 IoC 컨테이너이자 클래스를 말한다.
◎ 스프링 빈 컨테이너에 접근하기 위한 최상위 인터페이스이다.
◎ 스프링 빈을 관리하고 조회하는 역할을 담당한다.
◎ 각 객체 간의 의존성을 해결하고, 필요에 따라 해당 객체를 반환한다.
package test;
import java.util.ArrayList;
// Bean == 객체 == 기능 단위
// 기능 단위로 코드를 작성해놓은 객체
public class BeanFactory {
// 팩토리 패턴을 구현하기위한 클래스
// 팩토리 패턴이란?
// : 객체명을 요청하면
// 해당 객체를 제공하는 것
private ArrayList<String> iDatas;
private ArrayList<String> gDatas;
public BeanFactory() {
iDatas=new ArrayList<String>();
iDatas.add("IPHONE");
iDatas.add("APPLE");
gDatas=new ArrayList<String>();
gDatas.add("GALAXY");
gDatas.add("SAMSUNG");
}
private boolean isIPHONE(String phoneName) {
for(String data:iDatas) {
if(phoneName.equals(data)) {
return true;
}
}
return false;
}
private boolean isGALAXY(String phoneName) {
for(String data:gDatas) {
if(phoneName.equals(data)) {
return true;
}
}
return false;
}
// Object == 자바의 최상위클래스
public Object getBean(String beanName) {
beanName=beanName.toUpperCase();
// 버전 2 : 대소문자에 따른 입력
// 버전 3 : 여러 단어 입력
if(isIPHONE(beanName)) {
return new IPhone();
}
else if(isGALAXY(beanName)) {
return new GalaxyPhone();
}
return null;
}
}
'프레임워크 > Spring' 카테고리의 다른 글
[프레임 워크] <Spring>〈Maven〉application.xml 생성 (0) | 2024.02.28 |
---|---|
[프레임워크] <Spring>〈Maven〉스프링 프로젝트 생성 (0) | 2024.02.28 |
[프레임워크] <Spring>〈Maven〉DI (0) | 2024.02.27 |
[프레임워크] <Spring>〈Maven〉xml (0) | 2024.02.26 |
[프레임워크] <Spring>〈Maven〉기초 (0) | 2024.02.26 |