티스토리 뷰
DI예제 3
- 이클립스 사용
- DI : Dependency Injection의 약자, 의존주입
- 인터페이스
<Pencil>
- package com.javalec.ex;
- public interface Pencil {
- public void use();
- }
- 클래스 ㄴㄴ 인터페이스로 Pencil
<Pencil4B>
- package com.javalec.ex;
- public class Pencil4B implements Pencil {
- @Override
- public void use() {
- }
- }
<Pencil6B>
- package com.javalec.ex;
- public class Pencil6B implements Pencil {
- @Override
- public void use() {
- }
- }
<Pencil6BwithEraser>
- package com.javalec.ex;
- public class Pencil6BwithEraser implements Pencil {
- @Override
- public void use() {
- }
- }
<MainClass>
- package com.javalec.ex;
- import org.springframework.context.support.AbstractApplicationContext;
- import org.springframework.context.support.GenericXmlApplicationContext;
- public class MainClass {
- AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:application.xml");
- Pencil pencil = ctx.getBean("pencil", Pencil.class);
- pencil.use();
- ctx.close();
- }
- }
<application.xml>
- <?xml version="1.0" encoding="UTF-8"?>
- <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">
- <bean id="pencil" class="com.javalec.ex.Pencil6BwithEraser"/>
- 수정하고 싶을 땐 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