생성자 주입/필드 주입/setter 주입
·
DEVELOP/SPRING
Spring에서 의존성 주입(DI, Dependency Injection)을 하는 방식은 생성자 주입, 필드 주입, setter 주입 이렇게 3가지가 있다. 생성자 주입 (Constructor Injection) @Component public class MemberService { private final MemberRepository memberRepository; @Autowired public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } }특징불변성 보장: final 사용 가능 -> 생성 이후 값 변경 불가테스..
IoC와 DI
·
DEVELOP/SPRING
IoC(Inversion of Control) : 제어의 역전원래 개발자가 직접 하던 '객체 생성'이나 '객체 사이의 의존 관계 설정' 같은 제어권을 스프링 프레임워크가 대신 맡는 것을 뜻함예를 들어, 원래 개발자가 new 키워드로 객체를 직접 만들었겠지만, 스프링이 알아서 객체를 생성해서 관리해주고, 필요한 곳에 주입(injection)까지 해준다.따라서, 제거(Control)가 개발자 -> 스프링으로 역전되었다는 의미로 IoC라고 부른다. DI (Dependency Injection) : 의존성 주입IoC 개념의 실행 방식 중 하나가 바로 DI이다.어떤 객체가 다른 객체를 의존할 때, 원래는 개발자가 new로 직접 생성하거나 setter로 넣어준다. 하지만, 이제는 스프링이 대신 객체를 만들어서, ..