스프링 예제 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 |
댓글