[Spring] 9.값 형식 DI
·
🖥️ Backend/Spring
[Spring] 8.스프링 IoC 컨테이너 사용하기(ApplicationContext 이용하기)에서 Property를 사용한 스프링 빈 의존관계 설정(레퍼런스 타입)을 알아보았다. 오늘은 Property를 사용한 스프링 빈 의존관계 설정(값 타입)을 통해 DI를 해보자.우선 값 형식 DI를 해주기전에 사용하려는 클래스 NewlecExam에 setter를 추가해줘야한다. 빈칸 마우스 우측 클릭 -> Source -> Generate Geeters and Setters -> Select All 과 같이 쉽게 getter와 setter를 만들어준다.NewlecExam 클래스에 getter와 setter가 잘 생성되었다. 아래 그림을 보면 값 부여 전에는 아직 값을 설정해주지 않아 total과 avg가 0이 나..
[Spring] 8.스프링 IoC 컨테이너 사용하기(ApplicationContext 이용하기)
·
🖥️ Backend/Spring
[Spring] 7.스프링 DI 지시서 작성하기(Spring Bean Configuration)에서 작성했던 xml파일을 읽어서 지시했던대로 객체를 만들고 그 만들어진 객체를 활용하는 방법을 알아보자. ApplicationContext 구현체 Class스프링에서 DI 또는 그 지시서를 읽어가지고 객체를 생성해주고 조립해주는 스프링의 구체적인 객체 이름은 ApplicationContext 인터페이스이다.ApplicationContext를 구현하고 있는 클래스들이 여러 개가 있는데 대표적인 것은 ClassPathXmlApplicationContext이다. 구현하고있는 Class는 ClassPathXmlApplicationContext 외에도 3가지가 더 존재한다. 아래의 4가지 class는 어떻게 xml의 ..
[Spring] 7.스프링 DI 지시서 작성하기(Spring Bean Configuration)
·
🖥️ Backend/Spring
package spring.di;import spring.di.entity.Exam;public class Program { public static void main(String[] args){ Exam exam = new NewlecExam(); //ExamConsole console = new InlineExamConsole(exam); ExamConsole console = new GridExamConsole(exam); console.print(); }}위의 코드에는 하나는 Exam 객체, 하나는 ExamConsole 객체 총 두개의 객체가 있다. 크게 보면 ExamConsole 객체가 NewlecExam 객체를 사용하고 있는데 이렇게..
[Spring] 6.스프링 DI 설정을 위해 이클립스 플러그인 설치하기
·
🖥️ Backend/Spring
오늘은 지난 시간에 말했던 외부로 설정을 빼주는 역할을 해주는 스프링을 이용하기 위해서 스프링을 이클립스에 설치해보자.간단하게 이전 강의를 복습하자면 DI(Dependency Injection)는 객체 간의 의존성을 외부에서 주입하는 방식이다. 이를 위해 우리는 스프링에게 어떤 객체를 어떻게 조립할지에 대한 지시서(주문서)를 작성해야 한다. 이 지시서에는 프로그램에서 필요한 객체들과 그 객체들 간의 관계를 정의해야 한다. 이 지시서를 통해 스프링은 객체를 생성하고 의존성 주입을 통해 그 객체들을 조립하게 된다. 스프링에서 이 지시서는 주로 XML과 어노테이션 두 가지 방식으로 작성된다.  XML을 사용해서 주문서를 작성할 때는 내 마음대로 쓰는 것이 아니라 스프링이 이해하고 있는 또는 스프링이 제시하고 ..
[Spring] 5.Spring없이 Dependency를 직접 Injection하기
·
🖥️ Backend/Spring
오늘은 Spring의 도움을 받아서 객체를 생성하고 주입하는 과정을 해보기전에 Spring을 전혀 개입시키지 않고 직접 객체를 생성하고 주입해보자. 아래 그림의 서로 다른 출력결과는  Exam 객체의 시험 총점과 평균을 인라인 형식으로 출력하는 InlineExamConsole 클래스와 Exam 객체의 시험 총점과 평균을 그리드 형식으로 출력하는 GridExamConsole 클래스이다 InlineExamConsole이 exam 객체를 주입받아 인라인 형식으로 출력하고 있다가 나중에 GridExamConsole이 추가되었다고 가정해보자. 이 경우, 출력을 그리드 형식으로 바꾸기 위해서는 new GridExamConsole(exam)과 같은 코드 수정이 필요할 것이다. ExamConsole console = ..
[Spring] 4.IoC(Inversion Of Control) 컨테이너
·
🖥️ Backend/Spring
스프링의 가장 핵심적인 역할 중 하나는 DI(Dependency Injection, 의존성 주입)를 통해 객체(부품)들을 조립해주는 것이다. 이러한 DI와 함께 반드시 알아야 할 또 하나의 중요한 개념이 바로 IoC 컨테이너이다.스프링의 가장 기본적인 코어에 해당되는 능력이 부품을 조립해준 기능인데 그러기 위해서는 여러 가지 부품들을 주문서에다가 입력해서 스프링에게 제공해야한다. 스프링은 우리가 제공해주는 주문서대로 부품을 생성하고 조립을 하게 돼 있다. 그럼 우리는 어떠한 부품이 필요하고 그 부품들이 어떠한 조립 관계를 가져야 된다는 것을 명세화할 수 있어야 한다. 컴퓨터 조립을 맡길때 메인보드, VGA 카드, 메모리 등 필요한 부품을 주문서에 작성하면, 조립자가 그에 맞게 부품을 조립해준다. 스프링은..
Developer Quarterly
'🖥️ Backend' 카테고리의 글 목록