목록으로
Spring

Bean에 대해서 알아보자

Dev Park
5/27/2023
25 views

서론

JPA에 이어 Spring를 다루기전에 알아야하는 개념에는 Bean이 있다.
오늘은 Bean에 대해서 알아보자.

Bean이란?

Spring Bean은 Spring 애플리케이션의 기본 구성 요소이다.
애플리케이션의 중추를 형성하고 Spring IoC(Inversion of Control)컨테이너에 의해 관리되는 단순한 객체이다.
즉, Spring Bean은 인스턴츠화, 구성 및 Spring 프레임워크에 의해 관리되는 객체이다.

Bean의 구성

Spring Bean을 생성하려면 애플리케이션에서 객체를 정의한 다음 이 객체를 Spring Bean으로 처리하도록 Spring에 명시하면된다.
아래는 그 방법들이다.

XML

xml
1<bean id="myBean" class="com.example.MyBeanClass"/>

전통적인 방법으로는 XML 파일에서 Bean을 정의하는 것이다.

주석 기반 구성

java
1@Component 2public class MyBeanClass { 3 // ... 4}

Spring 2.5 에서는 주석 기반 구성 모델을 도입했다.
여기서 @Component로 클래스에 주석을 달기만하면 Spring에서 자동으로 이 클래스를 Bean으로 처리한다.
Spring은 @Component뿐만 아니라 @Service, @Controller, @Repository와 같은 다른 주석을 제공한다.

Java 구성

java
1@Configuration 2public class AppConfig { 3 4 @Bean 5 public MyBeanClass myBean() { 6 return new MyBeanClass(); 7 } 8}

Spring 3.0에서는 Java기반 구성이 도입되었다.
@Configuration 및 @Bean 주석을 사용한다.
@Bean 주석이 달린 메소드는 Bean의 인스턴스를 반환한다.

Spring에서 Bean의 중요성

Spring에서 Bean이 중요한 이유는 Spring 프레임워크에서 일반적으로 직접 작성해야하는 많은 코드를 처리해준다는 것이다.
예를 들어 Spring은 Bean간의 종속성을 자동으로 처리할 수 있으므로 개체 종속성을 관리하는 방법 대신 비지니스 논리에 더 집중할 수 있게된다.
또한 Spring Bean은 Spring 컨테이너에 의해 초기화되고 관리되므로 개체 수명 주기를 수동으로 관리할 필요가 없다.

마치며

Spring Bean은 Spring 애플리케이션의 초석이다.
사용이 간편하면서도 유지 보수하기 쉬운 코드를 작성할 수 있게 해준다.
이러한 개념을 이해하고 제대로 사용하면 좋은 Spring 애플리케이션을 만들 수 있다.