-
[Spring] AppConfig / IoC / DIBackend/Spring 2022. 5. 9. 23:53728x90
AppConfig
애플리케이션 전체 동작 방식을 구성하기 위해 구현 객체를 생성하고 연결하는 책임을 가지는 설정 클래스이다.
애플리케이션 실제 동작에 필요한 구현 객체를 생성하고 생성자를 통해서 객체 인스턴스 참조를 주입한다. 이는 DIP를 가능하게 하고 객체를 생성하고 연결하는 역할을 분리한다.
DI(Dependency Injection) : 의존관계 주입
외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴이다. 애플리케이션 실행 시점에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것이다. 클라이언트 코드를 변경하지 않고 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있다.
IoC(Inversion Of Control) : 제어의 역전
구현 객체는 자신의 로직을 실행하는 역할만 담당하고 AppConfig를 통해 제어의 흐름을 외부에서 관리한다. 의존 관계 역전의 원칙으로 제어의 주체가 역전되는 패턴이다. 의존 관계를 분리시키기 때문에 의존성 주입에서 의존성을 분리한다. 상속 시 상위계층이 하위계층에 의존하게 되어 interface를 사용해 하위 계층을 구현하여 독립시킨다.
728x90'Backend > Spring' 카테고리의 다른 글
[Spring Boot] Spring Boot에서 Thymeleaf 사용하기 (0) 2022.08.12 [Spring Error] EmbeddedDatabase 사용 시 java.lang.RuntimeException: mysql start failed with error 해결 (0) 2022.08.05 [Spring] Logging / Logging Framework / Log Level / Logback / Log Appender (0) 2022.07.31 [Spring] SOLID (0) 2022.05.09 [Spring] 스프링/스프링컨테이너/스프링빈 이란? (0) 2022.05.09