Spring에서 빈을 생성하는 방식은 주로 XML구성파일, JAVA Configuration 클래스, 어노테이션 등을 사용하여 정의 됩니다.
Spring은 이러한 설정을 토대로 컨테이너를 초기화하고 빈을 인스턴스화 하며 관리 합니다.
Spring은 빈을 생성하는 과정에서 다음과 같은 두 가지 주요 방법을 제공합니다.
빈을 생성할 때 생성자를 통해 의존성을 주입하는 방식이다.
이 경우에는 빈을 생성하는 시점에 필요한 값들이 생성자의 파라미터로 전달됩니다.
주로 생성자 주입 방식은 XML구성 찿일이나 Java Configuration 클래스를 통해 정의 됩니다.
빈을 생성한 후 필드에 직접 값을 주입하는 방식이다.
이 경우 빈을 생성한 후에 해당 필드에 값을 주입하기 때문에, 초기화 시점에 필요한 값을 전달하지 않아도 됩니다.
주로 어노테이션을 사용하여 필드 주입을 정의합니다. @Value??
Spring에서 '@Value'어노테이션은 필드 주입 방식으로 사용할 때 주로 사용됩니다.
필드 주입에서 @Value 어노테이션이 사용된 경우, 해당 필드에 설정된 값을 Spring이 처리하고 Bean을 초기화하는
과정에서 값을 주입합니다.
이는 Spring이 빈을 생성한 후에 필드에 값을 주입하기 때문에 필드의 값을 처리하는데에는 BeanPostProcessor가 필요합니다.
따라서 Spring에서 빈을 생성하고 관리하는 과정은 설정된 방식에 따라 다양하게 이루어질 수 있으며, 이를 통해 빈의 의존성 주입 및 초기화 작업을 효과적으로 관리할 수 있습니다.