ෆ ⋆ ₊ ゚ ☽ * ₊ ⋆

카테고리 없음

[CS] Spring Bean 등록 방법

우당탕가윤 2024. 3. 31. 20:37

Spring에서 Bean은 어떻게 등록하는 걸까?

오늘은 Bean 등록 방법에 대해 알아보자!


목차

  1. Bean 개념
  2. Bean 사용 이유
  3. Bean 등록 방법

01. Bean 개념

우선 Bean에 대해 간단히 알아보자

Bean이란 무엇일까?

 

Bean은 스프링 프레임워크에서 Spring IOC 컨테이너에 의해 관리되는 객체를 말한다. 일반적으로 애플리케이션에서 사용되는 자바 객체를 가리키고, 스프링 컨테이너에 등록되어 생명 주기 관리 및 필요한 곳에서 주입되어 사용된다.

 

02. Bean 사용 이유

그렇다면 이 Bean은 왜 사용하는 것일까?

 

  1. 의존성 관리: 개발자가 객체 간의 의존성을 명시적으로 관리하지 않고 객체를 주입받아 사용할 수 있다.
  2. 생명주기 관리: 빈의 생성, 초기화, 소멸 등의 과정을 개발자가 관리하지 않고 스프링이 대신 처리해준다.
  3. 편의성과 유연성: 객체 생성과 관리에 대한 많은 부분을 스프링 프레임워크가 처리해주므로 개발자는 핵심 비즈니스 로직에 집중할 수 있다. 또한, DI를 통해 런타임 시 빈의 의존성 변경이 가능하기에 유연한 애플리케이션 구성이 가능하다. 
  4. 테스트 용이성: 모의 객체를 주입해 테스트할 수 있다.
  5. AOP 지원: AOP를 지원해 횡단 관심사를 모듈화가 가능해 핵심 비즈니스 로직과 횡단 관심사를 분리해 코드의 가독성과 유지보수성을 향상시킬 수 있다.

03. Bean 등록 방법

  1. XML을 이용한 Bean 등록
    • applicationContext.xml 파일에 <bean> 요소를 사용하여 빈을 정의한다.
    • 각 빈은 id 속성을 통해 고유 식별자를 가진다.
    • class 속성을 통해 해당 빈이 인스턴스화될 클래스를 지정한다.
<bean id="myBean" class="com.example.MyBean"/>
  1. 어노테이션을 이용한 Bean 등록
    • @Component, @Service, @Repository, @Controller 등의 어노테이션을 사용하여 빈을 등록한다.
    • 클래스 위에 어노테이션을 추가하고, Spring이 클래스를 검색할 수 있도록 @ComponentScan 어노테이션을 구성 클래스에 추가한다.
@Component
public class MyBean {}

@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {}
  1. Java 설정 클래스 이용한 Bean 등록
    • @Configuration 어노테이션을 사용하여 Java 설정 클래스를 만든다.
    • @Bean 어노테이션을 사용하여 각 메서드에 해당 빈을 반환하도록 지정한다.
@Configuration
public class AppConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}
  1. XML과 어노테이션을 혼한 Bean 등록
    • XML 파일에 <context:component-scan> 요소를 추가하여 어노테이션을 이용한 빈 검색을 활성화한다.
<context:component-scan base-package="com.example"/>

이렇게 오늘은 Bean 등록 방법에 대해 알아보았습니다. 감사합니다!