본문 바로가기

di4

[Spring] Dependency Injection을 수행하는 세 가지 방법 회사에서 진행하는 개발 프로젝트에 참여하며, 로직 참고를 위해 기존의 소스 코드를 많이 들여다 보게 되었습니다. Spring을 공부하고 나니, 예전에는 봐도 잘 모르겠던 내용들이 이제는 눈에 제법 잘 들어오는데요. 그러던 중 재미있는 점을 발견했습니다. 아래는 회사 코드의 일부 예시입니다 (실제 코드 내용은 아니며, 같은 맥락으로 재구성한 내용입니다). @Controller public class ManageHistoryController() { @Inject public ManageHistorySerice manageHistoryService; @Inject public AuthService authService; @Inject public SearchParam searchParam @RequestMa.. 2022. 7. 11.
[Spring] 스프링과 객체지향 프로그래밍 (1) 개요 스프링을 공부하며, IoC와 DI 개념에 대해서 공부하긴 했어도, 저를 포함하여 많은 분들에게는 와닿지 않을 것입니다. 스프링을 공부하기 이전에, 스프링은 왜 탄생했고, 스프링 이전에는 어떻게 개발을 하였으며, 어떤 과정으로 스프링이 탄생했는지 구체적으로 짚고 넘어가고자 합니다. 스프링의 탄생 배경, 객체지향 프로그래밍과 다형성 등 스프링의 핵심 이념에 대해 다루어 보았습니다. 목차 스프링이란? 스프링 탄생의 배경과 스프링의 진짜 핵심 객체지향 프로그래밍과 다형성 역할과 구현의 분리 좋은 객체지향 설계의 5가지 원칙 (SOLID) - (2)에서 계속 1. 스프링이란? 보통 스프링이라고 하면, 특정한 하나의 기술을 가리키는 것이 아니라, 여러 기술의 모음을 가리킵니다. 스프링 프레임워크: 필수. 스프.. 2022. 4. 17.
[Spring] 의존성 주입의 세 가지 방법 @Deprecated 이 글은 오래되었으며, 제가 이후 더 공부하고 나서 새로 작성한 글이 있습니다. 이 글보다 더 자세하고 깊이 있게 작성되어 있으니 새로 작성한 글을 참고해 주세요! (2022. 07. 11) 앞서 스프링의 의존성 주입에 대한 글을 몇 가지 쓴 바 있습니다. (IoC와 DI, 테스트 코드와 의존성 주입, Bean 의존 관계 설정) 이러한 의존성을 주입하는 방법이 대표적으로 세 가지가 있는데요. 각 세 가지 방법에 대해 다루어 보고자 합니다. 1. 필드 주입 2. setter 주입 3. 생성자 주입 1. 필드 주입 필드 주입은 아래와 같은 방식으로 이루어집니다. public class PurchaseController { @Autowired private PurchaseService p.. 2022. 3. 10.
[Spring] 스프링에서의 테스트 코드와 의존성 주입 의존성 주입 (Dependency Injection; DI)에 대해 글을 작성한 바 있습니다. (글은 여기를 참고) 실제로 의존성 주입이 언제 발생하는지 예시를 하나 들어서 설명해 보고자 합니다. Service 및 테스트 코드 작성 아래와 같은 Service 클라스가 있다고 합시다. MemberService.java public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); // 회원 가입 public Long join(Member member) { //같은 이름이 있는 중복 회원 X validateDuplicatedMember(member); //중복 회원 검증 mem.. 2022. 3. 5.