07.spring ioc 컨테이너 이용하기
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의 타입에 맞는 클래스를 찾아주세요
인터페이스 형식에 참조 될 수 있는 클래스를 찾아주세요
댓글남기기