2023. 12. 11. 16:44 SpringBoot
Spring에서의 IOC
spring에서의 IOC를 사용하는 이유는 어떤 것이 있을까?
객체지향 원칙을 준수하며 객체관리를 framework에 위임하고 개발자가 구현하려는 부분으로
각각의 역할을 분리해 응집도를 높이고 결합도를 낮추어 변경에 유연한 구조를 유지할 수 있기 때문이다.
즉, 추상 class와 구현 class를 만든 뒤 추상 class를 주입 받도록 하여 개발자는 비즈니스 로직에만 집중할 수 있게 된다.
spring에서의 IOC 원리
특정 instance 가 필요할 때 IOC container에서 Bean으로 등록된 class를 확인하여 instance를 생성한다.
그 후 해당 instance 가 필요한 다른 Bean 객체에서 요청 시에 이를 자동으로 주입해준다.
spring에서의 DI 방식은 아래의 3가지 방식이 존재하며 이에 대한 자세한 포스팅은 추후에 다루기로 한다.
. 생성자 주입
. setter 주입
. field 주입
spring의 IOC container
spring에서 IOC를 수행하는 component를 Ioc container 혹은 spring container라고 부른다.
spring container는 객체를 생성, 객체간의 관계를 연관, 객체의 생명주기를 담당한다.
즉, spring container는 의존성을 주입하고 각 객체들끼리 연관지어 Spring application 을 동작할 수 있게 해준다.
spring bean란
spring bean 이란 개념은 Ioc container가 관리하는 오브젝트들을 의미한다.
Spring ApllicatioContext
Spring 에서 ioc container의 역할을 담당하는 bean factory에 여러 기능이 추가된 것 이다.
@Component Annotation을 사용하면 해당 class를 component scan을 통해서 Bean으로 등록해준다.
Spring ApplicationContext에 대해서는 추후에 더 자세하게 다룰 예정이다.
'SpringBoot' 카테고리의 다른 글
Spring ApplicationContext (0) | 2023.12.11 |
---|---|
IOC란 무엇인가? (0) | 2023.12.11 |
Bean과 Component (0) | 2023.11.30 |
SpringBoot와 SpringMVC의 차이와 특성에 대하여 (0) | 2023.11.29 |
@SpriongBootApplication 에 대해서 (0) | 2023.11.29 |