DEVLOG

스프링 프로젝트 생성(1) 본문

Spring

스프링 프로젝트 생성(1)

BINTHEWORLD 2022. 6. 3. 18:34

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

src/main/resources/applicationContext.xml

- 스프링의 객체생성은 Java의 new 키워드가 아닌 <bean id="" class="">로 객체 생성

<?xml version="1.0" encoding="UTF-8"?>
<!-- 객체생성은 이 xml 파일에 함 -->
<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">
	
	<!-- 자바처럼 new키워드로 객체 생성 대신 스프링은 빈을 활용하여 컨테이너에 객체 생성됨 -->
	<bean id="tWalk" class="testPjt.TransportationWalk"/>
	
</beans>

src/main/java/Transportation.java

package testPjt;

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

src/main/java/MainClass.java

package testPjt;

import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

	public static void main(String[] args) {
		/*1. 자바 : new로 객체 생성*/
		// TransportationWalk transportationWalk = new TransportationWalk();
		// transportationWalk.move();
		
		/*2. 스프링 : 컨테이너 안 객체 생성*/
		// GenericApplicationContext : 객체 사용을 위해 객체가 담긴 컨테이너에 접근하기 위한 데이터타입
		// GenericXmlApplicationContext : 컨테이너 아래 xml 파일(자식파일) 로드하는 클래스 
		GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml"); // applicationContext.xml의 resource를 매개변수로 받음
		
		TransportationWalk transportationWalk = ctx.getBean("tWalk", TransportationWalk.class); // bean의 id와 데이터타입을 매개변수로 받음
		transportationWalk.move();
		
		ctx.close(); // 사용 다 했으면 반환
	}
}

출처

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew 

 

자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의

스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., - 강의 소개 | 인프런...

www.inflearn.com


처음 메인클래스 실행시 xml을 찾을 수 없다는 에러메세지가 떴다. 이유는 applicationContext.xml 파일을 src/main/resources 아래에 저장해야 했는데, xml src/test/resources 아래에 저장했기 때문이었다. 스프링 입문 단계이다보니 폴더구조를 이해하는 것이 중요할 것 같다.

Comments