본문 바로가기

프레임워크/Spring

스프링엔진 = 스프링컨테이너 = 스플링어플리케이션텍스트

pom.xml은 메이븐프로젝트를 위한 용도
resources/myApplicationContext.xml 스프링을 위한 설정파일(web.xml과 같은 효과)

 

자바빈이 있고 스프링빈이 있는데
스프링어플리케이션컨텍스트가 너무 길어서 스프링빈을 말할거고 빈이라고 줄여 말할 예정
스프링어플리케이션컨텍스트에서 관리되는 객체(싱글톤패턴으로 관리됨) = 스프링빈

public class ContainerStart {
	public static void main(String[] args) {
		// 스프링엔진 = 스프링컨테이너 = 스프링 어플리케이션컨텍스트
		String configFileName = "myApplicationContext.xml";
		
		// 스프링엔진시작한다 = 스프링 컨테이너가 구동된다 = 스프링 어플리케이션컨텍스트가 생성됐다
		// -> 이 작업을 통해 myApplicationContext.xml의 bean tag의 class를 찾아서 싱글톤 패턴으로 객체생성을 함. 이 객체들을 스프링빈(빈)이라고 부를 것
		ApplicationContext ctx;
		ctx = new ClassPathXmlApplicationContext(configFileName);
	
		// -----여기까지 스프링 컨테이너를 구동하는 작업. 마치 톰캣을 시작하면 톰캣 내에 있는 서블릿엔진이 일을 하는 것처럼
		// 이 코드를 실행하게 되면 스프링 컨테이너가 시작되는 것.(마치 톰캣을 켰다)
		
		// 스프링컨테이너에 있는 스프링객체를 찾는다
		A a1 = ctx.getBean("a", com.my.di.dto.A.class);	// 첫번째는 bean tag의 아이디, 두번째는 class 자료형
		System.out.println(a1);		
	}
}

결과
null이 뜨면 못찾았다는것
싱글톤인것 확인할 수 있음
property는 setter를 통해 value값 전달
property 통해서 no 값 초기화해보기
value 따라 값 다름
싱글톤 패턴으로 만들 필요 없이 스프링 컨테이너가 알아서 싱글톤으로 관리하고 의존성주입도 설정파일에서 해줌

'프레임워크 > Spring' 카테고리의 다른 글

EJB(Enterprise Java Beans)  (0) 2023.10.26
스프링의 시작  (0) 2023.10.24
라이브러리 dependency로 추가하고 setting 하기  (0) 2023.10.24
Maven Project 생성  (0) 2023.10.24
web module version  (0) 2023.10.24