gwooden_코린이

이클립스를 사용한 스프링 프로젝트 사용 본문

스프링/이클립스 스프링 입문

이클립스를 사용한 스프링 프로젝트 사용

gwooden22 2022. 12. 14. 21:42
728x90

1. Java파일을 이용한 프로젝트 실행

package testPrj01;

public class MainClass {

	public static void main(String[] args) {
		
		TransportationWalk trw = new TransportationWalk();
		trw.move();

	}

}
package testPrj01;

public class TransportationWalk {
	
	public void move() {
		System.out.println("도보로 이동");
	}

}

2. 스프링 프로젝트

- 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 
 		http://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="tWalk" class="lec03Pjt001.TransportationWalk" />
	
</beans>

빈(Bean)이란?

  • Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다.
  •  Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의하여 생성되고 관리되는 자바 객체를 Bean이라고 한다.
  • Spring Framework 에서는 Spring Bean 을 얻기 위하여 ApplicationContext.getBean() 와 같은 메소드를 사용하여 Spring 에서 직접 자바 객체를 얻어서 사용
<bean id="tWalk" class="lec03Pjt001.TransportationWalk" />
  • Beans는 애플리케이션의 핵심을 이루는 객체이며, Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 관리, 생성된다.

bean(컨테이너 객체)  id(고유 식별)= "원하는 고유 명칭 입력" class="컨테이너에 담을 클래스 파일 불러오기"

  • 기본적으로 xml 파일에 정의
  • 주요 속성
    • class(필수): 정규화된 자바 클래스 이름
    • id: bean의 고유 식별자
    • scope: 객체의 범위 (sigleton, prototype)
    • constructor-arg: 생성 시 생성자에 전달할 인수
    • property: 생성 시 bean setter에 전달할 인수
    • init method와 destroy method

- MainClass.java

package lec03Pjt001;

import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

	public static void main(String[] args) {
		
//		TransportationWalk transportationWalk = new TransportationWalk();
//		transportationWalk.move();
		
		GenericXmlApplicationContext ctx = 
				new GenericXmlApplicationContext("classpath:applicationContext.xml");
		
		TransportationWalk transportationWalk = ctx.getBean("tWalk", TransportationWalk.class);
		transportationWalk.move();
		
		ctx.close();
	}
	
}
  1. GenericXmlApplicationContext를 이용해 컨테이너를 생성
  2. 해당 컨테이너 안에 있는 Bean이라는 객체를 getBean 메서드를 갖다가 그냥 사용하기만 한다.
  3. 생성은 컨테이너가 알아야 한다.


  • 스프링은 컨테이너 안에 객체를 다 모아둔다.
  • 스프링은 객체를 갖다가 메모리 로딩 또는 메모리 생성 될 때 스프링 컨테이너 IoC라는 커다란 큰 그릇을 만듬
  • 그 그릇에 객체를 다 생성 해서 하나씩 빼서 사용함
  • 그 객체를 만들어주는 것이 애플리케이션
728x90
Comments