본문 바로가기
STUDY/SPRING

스프링(3.0) 예제

by Anne of Green Galbes 2019. 4. 15.

스프링 예제 1

○ 1:1의 관계


1. class파일 생성

○ 위치 : src/main/java > com.exe.springdi1

○ Message.java

package com.exe.springdi1;


public class Message {

public void sayHello(String name) {

System.err.println(name + " 방가방가...");

}

}


2. class파일 생성

○ 위치 : src/main/java > com.exe.springdi1

○ MessageCall.java

- Message.java파일을 호출하여 바로 사용

package com.exe.springdi1;


public class MessageCall {

public static void main(String[] args) {

Message ob = new Message();

ob.sayHello("배수지");

}

}


스프링 예제2 : 인터페이스 사용

○ 의존성 주입을 줄이지 위해 인터페이스를 사용 → 의존성이 없어지는건X, 약하게 만듦


1. 패키지 생성

○ com.exe.springdi2


2. 인터페이스파일 생성

○ 위치 : src/main/java > com.exe.springdi2

○ Message.java

package com.exe.springdi2;


public interface Message {

public void sayHello(String name);

}


3. class파일 생성

○ 위치 : src/main/java > com.exe.springdi2

○ Message인터페이스를 상속받아서 사용

○ MessageKr.java

package com.exe.springdi2;


public class MessageKr implements Message{

public void sayHello(String name) {

System.out.println("Hello, " + name);

}

}

○ MessageEn.java

package com.exe.springdi2;


public class MessageEn implements Message {

public void sayHello(String name) {

System.out.println("Hello, " + name);

}

}


4. 메인 클래스 생성 : MessageCall.java

○ 일반적인 객체생성 방법

- 사용 할 클래스 파일롤 객체를 생성

package com.exe.springdi2;

public class MessageCall {

public static void main(String[] args) {

MessageEn ob1 = new MessageEn();

ob1.sayHello("suzi");

MessageKr ob2 = new MessageKr();

ob2.sayHello("수지");

}

}

○ 인터페이스로 객체

package com.exe.springdi2;

public class MessageCall {

public static void main(String[] args) {

Message ms = null;

ms = new MessageEn();

ms.sayHello("Miss A");

ms = new MessageKr();

ms.sayHello("미스에이");

}

}


스프링 예제 3 : 중간관리자를 사용하여 값을 넘김

○ MessageCall.java에서 클래스를 바로 읽어 사용하지 않고 다른 클래스를 통해서 결과값만 받아서 사용

○ 가장 기본적인 방법


1. 패키지 생성

○ com.exe.springdi3


2. 인터페이스파일 생성

○ 위치 : src/main/java > com.exe.springdi3

○ Message.java

package com.exe.springdi3;


public interface Message {

public void sayHello(String name);

}


3. class파일 생성

○ 위치 : src/main/java > com.exe.springdi3

○ MessageKr.java

package com.exe.springdi3;


public class MessageKr implements Message{

public void sayHello(String name) {

System.out.println("Hello, " + name);

}

}

○ MessageEn.java

package com.exe.springdi3;


public class MessageEn implements Message {

public void sayHello(String name) {

System.out.println("Hello, " + name);

}

}


4. 메인 클래스 생성

○ MessageCall.java

- MessageServices.java는 중간관리자 역할

값을 생성해서 넘겨주기만 한다

package com.exe.springdi3;


public class MessageCall {

public static void main(String[] args) {

MessageService ms = new MessageService();

ms.messageService();

}

}


5. 환경설정파일 복사

○ 위치 : src/main/resources > META-INF > spring

○ app-context.xml파일을 src/main/java로 복사


○ 다음과 같이 수정

<context:component-scan base-package="com.exe.springdi3" />


○ 객체 생성

- class의 파일을 id이름으로 생성

<bean id="message" class="com.exe.springdi3.MesaageKr"></bean>


6. MessageService.java

○ 값만 전달해주는 역할

package com.exe.springdi3;

import org.springframework.context.support.GenericXmlApplicationContext;


//사이에서 값만 전달해주는 역할

public class MessageService {

public void messageService() {

//1. BeanFactory 생성 → app-context.xml의 내용을 받음

GenericXmlApplicationContext context = new GenericXmlApplicationContext("app-context.xml");

//2. 자신이 필요한 객체 생→ app-context.xml에서 생성

//Bean 객체 획득

Message ms = (Message)context.getBean("message");

ms.sayHello("수지");

}

}




'STUDY > SPRING' 카테고리의 다른 글

스프링(3.0) 톰캣서버 연결  (0) 2019.04.15
스프링(3.0) 의존성 주입  (0) 2019.04.15
스프링(3.0) 프로젝트 생성  (0) 2019.04.15
스프링(3.0) 다운로드  (0) 2019.04.15
[spring 2.5]타일즈  (0) 2019.04.09

댓글