오늘 스프링 공부 시작을 했다. 책을 주문했지만 책이 오지 않아서 유튜브를 보면서 공부하는 중이다.
유튜브에서 자바와 스프링 설치를 마치고 처음으로 접한 것이 의존성 주입이라는 것이다.
의존성 주입은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다.
의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것이며 이는 가독성과 코드 재사용을 높혀준다.
의존성 주입은 사용될 서비스 객체, 사용하는 서비스에 의존하는 클라이언트 객체 클라이언트의 서비스를 사용 방법을 정의하는 인터페이스 , 서비스를 생성하고 클라이언트로 주입하는 책임을 갖는 주입자 를 전재로 한다.
의존성 주입의 이점으로는
1. 의존 관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도를 낮출 수 있다.
2. 코드 재사용을 높여서 작성된 모듈을 여러 곳에서 소스코드의 수정없이 사용할 수 있다.
3. 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다.
의존성 주입 패턴으로는
생성자 주입, 세터를 통한 주입, 인터페이스를 통한 주입 등이 있다.
위키백과에 있는 것을 조금 정리해 보았다. 이것만 봐서는 무슨 소리인지 잘 모르겠다.
TEST A:

TEST B:

XML:

MAIN:

유튜브에서 한 것을 비슷하게 만들어 봤다. 객체를 직접 생성하지 않고 xml을 통해서 데이터를 받는 것이다.
직접 객체를 생성하는 것이 아니라 외부로 부터 데이터를 받는다고 한다. 만들면서 xml 파일 만드는게 이해가 잘 안되고 name과 class 경로도 맞게 했는데 오류가 났다가 갑자기 사라졌다... 아직 미숙하기에 좀 더 사용 해봐야 할 것 같다.
'Spring > 스프링 프레임워크' 카테고리의 다른 글
| 2021-01-04 AOP란 무엇인가 (0) | 2022.01.04 |
|---|---|
| 2021-08-23 (백엔드 공부) 웹 어플리케이션 폴더 구성 (0) | 2021.08.23 |
| 2021-08-20(백엔드 공부) GET 과 POST 요청 공부 (0) | 2021.08.20 |
| 2021-08-18(백엔드 공부) DI와 IOC 컨테이너 연습 및 maven (0) | 2021.08.18 |
| 2021-08-12 (백엔드 공부) 웹에 글자 띄워보기 (0) | 2021.08.12 |
