본문 바로가기

의존성주입

[스프링| 스프링 핵심 원리 | 기본편 | 의존관계 자동 주입] 생성자 주입을 선택해라! @Componentpublic class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public O.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해2 - 객체 지향 원리 적용]IoC, DI, 그리고 컨테이너 제어의 역전 (Inversion of Control, IoC)제어의 역전은 프로그래밍에서 주로 사용되는 디자인 패턴 중 하나로, 프로그램의 흐름 제어를 사용자가 아닌 외부 시스템이 관리하는 원칙을 말해. 전통적인 프로그래밍에서는 사용자가 프로그램의 흐름을 제어하고, 언제 어떤 객체를 생성하고 사용할지 직접 관리하는데, IoC에서는 이러한 제어권이 프레임워크 같은 외부 시스템으로 넘어간다고 생각하면 돼.예를 들어, 스프링 프레임워크에서는 개발자가 직접 객체를 생성하고 소멸시키는 대신, 스프링 컨테이너가 이런 작업들을 대신 관리해주는데, 이렇게 되면 개발자는 비즈니스 로직에 더 집중할 수 있고, 코드는 더욱 깔끔하고 유지 관리가 쉬워진다. 라이브러리라이브러리는 개발자가 작성하는 애플리케이션 코드에서 호출되어.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 자바 코드로 직접 스프링 빈 등록하기 package hello.hellospring;// 필요한 클래스를 임포트합니다.import hello.hellospring.repository.MemberRepository;import hello.hellospring.repository.MemoryMemberRepository;import hello.hellospring.service.MemberService;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration // 이 클래스가 스프링 설정 클래스임을 선언합니다. 스프링 IoC 컨테이너는 이 클래스에서 빈 설정 정보를 읽어들입니다.. 더보기
[되기시리즈 스프링부트3| 02장 스프링부트3 시작하기] IoC/DI, AOP, 1. 학습목표 의존성 주입과, 제어의 역전을 이해할 수 있다. 2.필요 개념 문장정리 의존성 주입(DI: Dependency Injection) 어떤 클래스가 다른 클래스에 의존한다는 뜻이다. @Autowired라는 애너테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할을 한다. 빈은 스프링 컨테이너에서 관리하는 객체를 말한다. 기존의 자바코드는 클래스 A에서 B객체를 직접 생성했지만 스프링의 경우 스프링 컨테이너에서 객체를 주입받아 사용한다. 제어의 역전(IoC: Inversion of Control) 다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용하는 것을 말한다. 관점지향 프로그래밍(AOP: Aspect Oriented Programming) 프로그.. 더보기