반응형
이번에는 스프링이 아닌 자바를 활용하여 직접 DI를 진행한다.
1. 프로젝트 생성
2. 패키지 및 인터페이스, 클래스 생성
DI를 사용해 보기 위해 인터페스와 클래스를 생성한다.
3. 코드 작성
Program.java - Main클래스
조립할 부품생성
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package spring.di;
import spring.di.entity.Exam;
import spring.di.entity.NewlecExam;
public class Program {
public static void main(String[] args) {
Exam exam = new NewlecExam(); } }
|
부품을 조립할 곳
1. InlineExamConsole
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package spring.di;
import spring.di.entity.Exam;
import spring.di.entity.NewlecExam;
import spring.di.ui.ExamConsole;
import spring.di.ui.InlineExamConsole;
public class Program {
public static void main(String[] args) {
Exam exam = new NewlecExam();
ExamConsole console = new InlineExamConsole(exam);
console.print();
}
}
|
2. GridExamConsole
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package spring.di;
import spring.di.entity.Exam;
import spring.di.entity.NewlecExam;
import spring.di.ui.ExamConsole;
import spring.di.ui.GridExamConsole;
public class Program {
public static void main(String[] args) {
Exam exam = new NewlecExam();
ExamConsole console = new GridExamConsole(exam);
console.print();
}
}
|
생성자를 활용하여 exam이라는 부품을 원하는 곳(inline 또는 grid)에 조립하여 사용
## 뉴렉처님 강의
반응형
'Spring 열공!' 카테고리의 다른 글
IoC컨테이너 (Inversion of Control Container) (0) | 2021.01.05 |
---|---|
03 DI (Dependency Injection) (0) | 2021.01.04 |
02 느슨한 결합력과 인터페이스 (0) | 2021.01.04 |
01 뉴렉처 님의 Spring 강의 (feat, Spring 소개) (0) | 2021.01.04 |