package test04;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
// 스프링 컨테이너 도입
public class Client {
public static void main(String[] args) {
// 1- 스프링 컨테이너를 동작시킴
AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext.xml");
Phone phone = (Phone)factory.getBean("garen");
// 2- Lookup : 스프링 컨테이너에게 객체를 요청
phone.turnOn();
phone.volumeUp();
phone.volumeDown();
phone.turnOff();
// 3- 스프링 컨테이너 종료
factory.close();
}
}
[ Client.java ]
factory는 내가 만든 것 이제 스프링 자체가 팩토리 역할을 해줄 것이다
팩토리의 역할 : 이름에 맞는 객체 생성 역할을 했다
이제 스프링 컨테이너를 사용할것이다 : AbstractApplicationContext == 스프링 컨테이너
스프링에서 제공
스프링을 잘 설치했다면 있는 아이들 import
[ 파일에서 하는 일 ]
1. 스프링 컨테이너를 동작시킴 : 스프링이 만든거 사용
bean 해둔 객체 생성을 다 한다
스프링 컨테이너를 동작시킬 때
컨테이너는 페이지 로드를 할 때
미리 만들어둔다
ex) 회원가입을 할지 결제를 할지 모르니까 미리 다 해둠
2. Lookup : 스프링 컨테이너에게 객체를 요청
3. 스프링 컨테이너 종료
[ .xml 파일 생성하기 ]

스프링 컨테이너는 동작하기 위해
.xml 설정파일 메뉴얼이 필요하다
보통 applicationContext.xml이라는
이름으로 설정파일을 사용한다

리소스를 계속 업데이트 해야 한다 항목을 체크해줘야 한다

이름이 티모인 객체가 없을 때 발생하는 에러
[ applicationContext.xml ]
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="" id=""></bean>
<!-- <isp:useBean class="" id=""></isp:useBean> -->
</beans>
applicationContext.xml에서 알려줘야 한다
bean은 속성으로 두가지를 갖는데 class와 id를 갖는다
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="test04.IPhone" id="teemo" />
<bean class="test04.GalaxyPhone" id="ari" />
</beans>
ex) text04에 아이폰이 있거든? 걔는 티모다~
[ 스프링 컨테이너 동작 순서 ]
1. 클라이언트가 스프링 컨테이너의 설정파일을 로드
2. 스프링 컨테이너 동작
3. 객체 요청 == Lookup
4. 객체 반환... 사용... 종료...
'🍃 Spring' 카테고리의 다른 글
| .xml 대신 @ (어노테이션) 사용해보자! (0) | 2026.01.14 |
|---|---|
| 의존성 주입(DI, Dependency Injection)와 생성자 주입, 세터 주입 (0) | 2026.01.14 |
| MySQL 설치하기 ( Workbench 툴 사용 ) (0) | 2026.01.13 |
| 🌺 Spring 시작하기.. 구조와 원리 (init-method="initMethod") (0) | 2026.01.13 |
| 🌺 Spring 시작하기.. 구조와 원리 (STS 설치 & MySQL 설치) (1) | 2026.01.13 |