[spring] 의존성 주입(dependency injection)

정원석·2023년 7월 22일
0

김영한 강사님 강의를 들으며 정리한 내용입니다. 공부를 하며 수정해 나갈 예정입니다.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8
이전 과정
서비스와 레퍼지스토리를 만들고 객체를 만들었다. 서비스를 통해 가입할 수 있고, 레퍼지스토리에 저장하고 꺼내올 수 있다. Test도 만들었다. 이 후 화면에 붙이려 한다. Controller과 view template가 필요하다. 회원가입 결과를 html에 뿌리려면 Controller가 필요하다. Controller는 Service를 통해 회원가입, 데이터를 조회한다.

dependency injection
@Controller가 있으면 Container라는 스프링통이 생긴다. Controller객체가 생겨 Container에 넣어둔다. 그 후 그 객체를 스피링이 관리한다. Controller는 Service를 가져다 써야 한다. new로 생성해서 쓸 수 있지만 비효율적이므로 spring Container에 등록하고 쓰자.
@Autowired를 통해 생성자를 호출한다. @service를 넣는다. Controller을 통해 외부 요청을 받고 service에서 비즈니스 로직을 만들고, Repository에서 데이터를 저장한다. Controller가 생성될 때 service객체를 가져다 넣어준다. 이것이 dependency injection이다.
코드로 직접 등록, @Autowired로 직접 스프링에 연결한다.

profile
Back-End-Dev

0개의 댓글