🍃 Spring

🌺 Spring 시작하기.. 구조와 원리 (applicationContext.xml 설정 파일)

보배 진 2026. 1. 13. 12:03

 

 

 

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. 객체 반환... 사용... 종료...