Java, Spring/16일

16일차 3 - Spring 시작하기

Caprica Six 2012. 9. 20. 09:46

Spring setting

Spring Download 받은 압축파일을 푼다.

  • spring-framework-2.5.6.SEC01
  • spring-framework-3.0.1.RELEASE-dependencies
  • spring-framework-3.1.1.RELEASE

plug-in 하나 더 받자

  Help –> Install New Software…

Core / Spring IDE 선택(가장 필수적인거야.. )

나중에 시간있으면 STS같은거 설치해 (다운오래걸리거든..)

.

.

.

.

.

이제 새로 프로젝트(springdev)를 만들자.

New-> Project-> Java Project

 

먼저 자바로 해보고 나중에 웹으로 해볼거야.

 

exam01 패키지에 HelloApp 라는 클래스 하나 만들자.

이렇게 HelloApp만들고 MessageBean이라는 클래스를 하나 정의해보자.

package exam01;

public class MessageBean {
	public void sayHello(String name){
		System.out.println("Hello, "+name);
	}
}

이 sayHello를 쓰기 위해서 HelloApp에선 다음의 단계를 거쳐야지.

package exam01;

public class HelloApp {

	public static void main(String[] args) {

		MessageBean bean = new MessageBean();
		bean.sayHello("Taiji");

	}
}

아주 당연하지.

하지만 이 상태에서는 HelloApp클래스는 MessageBean클래스에 완전히 의존적이지. new가 있으면 의존적일 수 밖에 없지.

만약 MessageBean이 한글버전으로 MessageBeanKo하나 더 만들어졌다면

package exam01;

public class MessageBeanKo {
	public void sayHi(String name) {
		System.out.println("안녕하세요, "+name+"씨");
	}
}

이를 사용하게 위해선 HelloApp를 변경할 수 밖에 없지.

.

.

.

.

abstract method가 있는 abstract class를 만들거나, Interface를 만들어야겠지.

Interface를 만들어보자. (저장하는거 같은게 없으니까)

 

클래스명을
MessageBean -> MessageBeanImpl
MessageBeanKo -> MessageBeanImplKo 바꾸고..

얘네들을 upcasting하기 위한 abstract class나 Interface를 만들어야 하는데, 저장한다던가 하는게 없으니까 Interface를 만들자.

 

그다음 MessageBeanImpl, MessageBeanImplKo 에 implement시켜야지.. 그러면 당연히MessageBeanImplKo 의 sayHi는 sayHello로 바꿔줘야겠지.

package exam01;

public interface MessageBean {
	public void sayHello(String name);
}

package exam01;

public class MessageBeanImpl implements MessageBean{
	public void sayHello(String name){
		System.out.println("Hello, "+name);
	}
}

package exam01;

public class MessageBeanImplKo implements MessageBean {

	public void sayHello(String name) {
		System.out.println("안녕하세요, "+name+"씨");
	}
}

package exam01;

public class HelloApp {

	public static void main(String[] args) {

		MessageBean bean = new MessageBeanImpl(); //upcasting
//		MessageBean bean = new MessageBeanImplKo(); //upcasting
		bean.sayHello("Taiji");

	}
}

실행은 되지만 여전히 의존적이지.

.

.

.

.

spring을 사용하면 이런것을 아주 쉽게 해결할 수 있지.

 

 

 

15:00