최대 1 분 소요

Spring IoC컨테이너 이용하기(applicationContext이용하기)

지시서를 읽어서 객체를 생성해서 구현하는 인터페이스: ApplicationContext

  • ApplicationContext의 종류
 위치에 어떻게 알려주냐에 따라서 
ClassPathXmlApplicationContex : 어플리케이션의 주소를 얻고 싶으면 사용한다 (실행되는위치에)

FileSystemxmlApplicationContex: 현재 파일시스템의 위치를 기반 

XmlWebApplicationContex:웹의 url을 통해

AnnotiationConfigApplicationContex:어노테이션을 두어 스캔하는 방법으로 쓴다 

지시서를 읽기위해서는 메이븐 파일로 바꿔준 후 Denpendency로 add-> springframework를 검색한다: 없으면 메이븐 인덱싱을 해야한다

 

  • rebulid 안하고 인덱싱하기

Maven Repository에 가서 spring의 링크를 복붙

version아래에 아래의 내용을 적는다

<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.21</version>
</dependency>
</dependencies>

라이브러리를 다운 받는다

 

1.id가지고 객체를 가져오기

ApplicationContext context = 
				new ClassPathXmlApplicationContext("Spring/di/setting.xml");

		
		ExamConsole console =(ExamConsole)context.getBean("console");
		console.print();

context가 지시한 setting 지시서를 읽어서 객체화를 한다음 담고 있는 그릇이 이름은 ioc 컨테이너인데 실질적이름은 context이다

context에 id = console이므로 context에게 console이라는 이름을 가진 것을 꺼내달라고 한다

이름으로 꺼낼경우 형변환을 해줘야한다(오브젝트형으로 꺼내짐)

 

2.자료형으로 꺼내보기

ApplicationContext context = 
				new ClassPathXmlApplicationContext("Spring/di/setting.xml");

			ExamConsole console = context.getBean(ExamConsole.class);
		console.print();

ExamConsole의 타입에 맞는 클래스를 찾아주세요

인터페이스 형식에 참조 될 수 있는 클래스를 찾아주세요

카테고리:

업데이트:

댓글남기기