티스토리 뷰

Spring

[Spring] DI 기본예제 3

먹태 2018. 5. 13. 21:13

DI예제 3


- 이클립스 사용

- DI : Dependency Injection의 약자, 의존주입

- 인터페이스







<Pencil>


  1. package com.javalec.ex;
  2.  
  3. public  interface Pencil {
  4.     public void use();
  5. }


- 클래스 ㄴㄴ 인터페이스로 Pencil






<Pencil4B>


  1. package com.javalec.ex;
  2.  
  3. public class Pencil4B implements Pencil {
  4.  
  5.     @Override
  6.     public void use() {
  7.         System.out.println("4B 연필을 사용한다");
  8.     }
  9. }





<Pencil6B>


  1. package com.javalec.ex;
  2.  
  3. public class Pencil6B implements Pencil {
  4.  
  5.     @Override
  6.     public void use() {
  7.         System.out.println("6B 연필을 사용한다");
  8.     }
  9. }





<Pencil6BwithEraser>


  1. package com.javalec.ex;
  2.  
  3. public class Pencil6BwithEraser implements Pencil {
  4.  
  5.     @Override
  6.     public void use() {
  7.         System.out.println("지우개가 달린 6B 연필을 사용한다");
  8.     }
  9. }






<MainClass>


  1. package com.javalec.ex;
  2.  
  3. import org.springframework.context.support.AbstractApplicationContext;
  4. import org.springframework.context.support.GenericXmlApplicationContext;
  5.  
  6. public class MainClass {
  7.     public static void main(String[] args) {
  8.         AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:application.xml");
  9.         Pencil pencil = ctx.getBean("pencil", Pencil.class);
  10.         pencil.use();
  11.   
  12.         ctx.close();
  13.     }
  14. }
  15.  







<application.xml>


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5.  
  6.     <bean id="pencil" class="com.javalec.ex.Pencil6BwithEraser"/>
  7.  


- 수정하고 싶을 땐 MainClass를 건들지 말고 xml에서 클래스명만 바꿔주면 된다.




'Spring' 카테고리의 다른 글

Spring 2  (0) 2020.10.13
Spring 1  (0) 2020.10.13
[Spring] DI Annotation 예제  (0) 2018.05.13
[Spring] DI 기본예제 2  (0) 2018.05.13
[Spring] DI 기본예제  (0) 2018.05.13
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday