6주차

IoC/DI - 제어의 역전/의존성 주입

의존성이란? new다.

public class TestService{
    private final TestRepository testRepository = new MemoryTestRepository();
}

⇒ 메소드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다.

그렇다면 DI란?

다시 말해서, DI는 외부에 있는 의존 대상을 주입하는 것을 말한다.

DI의 주입 방법

예시)

public class TestService{
    private final TestRepository testRepository = new MemoryTestRepository();
}
public class FieldDI{

    private TestDependency testDependency;

    //1. 이렇게 생성자에 Autowired 어노테이션을 달아줌으로써 자동으로 스프링부트가 DI를 해줍니다.
    @Autowired
    public FieldDI(TestDependency testDependency){
        this.testDependency = testDependency;
    }
}

=> 롬복 도움을 받아서
@Service
@RequiredArgsConstructor
public class FieldDI{
    private final TestDependency testDependency;
}