개발하는 뚝딱이

스프링 4.자바를 이용한 프로젝트 생성 5.폴더로 프로젝트 생성 본문

스프링 4.자바를 이용한 프로젝트 생성 5.폴더로 프로젝트 생성

개발자뚝딱이 2019. 8. 28. 21:45

스프링 컨테이너 IoC라는 큰 그릇을 만들고, 객체를 IoC에 저장하여 사용할 때마다 빼오는 방식이다.

 

1. Java파일을 이용하여 프로젝트를 실행하고, 자바 class를 생성한다

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

 

  • MainClass.class
public class MainClass {
    public static void main(String[] args) {
    
     TransportationWalk transportationWalk = new TransportationWalk();
     transportationWalk.move();
    
    } 
}

 

 

 

2. 스프링 설정파일(XML)을 이용한다

  • 스프링 방식의 '의존'을 이용하기 위해서는 Main에서 transportationWalk 객체를 new 연산자로 직접 생성하지 않고, 스프링 설정파일(XML)을 이용한다.
  • src-main-resources 아래에 applicationContext.xml을 추가한다
  • 스프링 컨테이너의 객체 (Bean)을 만들어주는 부분이 applicationContext.xml이다
  • bean의 class='현재 패키지명.풀네임'로 지정해준다
<?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>

 

  • MainClass.class를 아래와 같이 수정한다
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. 프로젝트 폴더를 생성한다

  • '프로젝트 폴더' - src - main - java, resources 구조로 만들어준다
  • src와 같은 위치에 pom.xml 파일을 생성한다.

2. 이클립스에서 import한다

  • Import - maven - Existing Maven Projects → Browse .. 

 

 

 

'' 카테고리의 다른 글

스프링 7. 다양한 의존 객체 주입  (0) 2019.08.29
스프링 6.DI(Dependency injection)  (0) 2019.08.28
스프링 3.스프링 프로젝트 생성  (0) 2019.08.27
스프링 2. 스프링 프레임워크  (0) 2019.08.27
스프링 1.개요 소개  (0) 2019.08.27