728x90
반응형

스프링 빈 2

[Spring] 스프링 빈이란? 스프링 빈 정리 (등록방식, 스코프)

스프링을 사용해봤다면 무조건 들어봤을 빈에 대해 잘 모르고 지나치는 경우가 많다. 따라서 이번 기회에 정리를 해보았다. 스프링 빈이란? 스프링 빈은 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다. 스프링 컨테이너 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 스프링 컨테이너에 적용된다. 스프링 컨테이너를 사용하면 객체 생성 소멸을 대신해 줌 → 제어 흐름을 외부에서 관리하게 된다. 또한, 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈 등록 방식 Component Scan 컴포넌트 스캔은 @Component를 명시하여 빈을 추가하는 방법이다. 클래스 위..

Tech/Spring 2023.08.01

[스프링 핵심 원리] 스프링 빈 설정 메타 정보 - BeanDefinition

스프링은 BeanDefinition 으로 메타 정보를 추상화 한다. 스프링의 BeanDefinition 추상화를 쉽게 생각해보면, 역할과 구현을 개념적으로 나눈 것이라 할 수 있다. (스프링 컨테이너는 XML, 자바 코드에 관계 없이 BeanDefinition만 알면 된다.) BeanDefinition : 빈 설정 메타 정보 - @Bean, 당 각각 하나씩 메타 정보가 생성됨 - 스프링 컨테이너는 이 메타정보를 기반으로 스프링 빈 생성 BeanDefinition을 직접 생성해서 스프링 컨테이너에 등록할 수 도 있다. (실무에서는 거의 없다!) 스프링 빈을 만드는 2가지 방법이 있는데, 직접 등록하는 방법 factoryBean을 사용하여 등록하는 방법 (일반적인 자바 코드를 통해 등록하는 방법 이 있다.

Tech/Spring 2022.01.10
728x90
반응형