Spring Framework의 핵심Spring Framework BeanSpring Framework Configuration@Bean이란?@Configuration이란?

Spring Framework의 핵심: @Bean과 @Configuration 이해하기

KUKJIN LEE
KUKJIN LEE
2024년 4월 30일
145

설명

Spring Framework에서 @Bean@Configuration은 스프링의 핵심 어노테이션 중 일부로, 스프링의 의존성 주입(Dependency Injection) 기능과 관련 있습니다. 이들은 스프링 애플리케이션 컨텍스트에서 빈(Bean)의 생성과 관리, 그리고 설정을 위해 사용됩니다.

  • @Bean: 스프링 컨테이너에 의해 관리되는 객체(빈)를 생성하고 등록하기 위해 사용되는 어노테이션입니다. 이는 메서드 레벨에서 사용됩니다.

  • @Configuration: 해당 클래스가 스프링의 설정 정보를 담고 있으며, @Bean 어노테이션을 포함한 메서드로부터 생성된 빈들을 스프링 컨테이너에 등록하기 위한 클래스임을 나타내는 어노테이션입니다. 이는 클래스 레벨에서 사용됩니다.

 

@Bean
public MyBean myBean() {
    return new MyBean();
}

위 예시에서 myBean 메서드는 MyBean 타입의 인스턴스를 생성하고, 이 인스턴스는 스프링 컨테이너에 의해 관리되는 빈으로 등록됩니다. 이렇게 등록된 빈은 애플리케이션 전역에서 주입하여 사용할 수 있습니다.

@Configuration
public class AppConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}

 

위 예시에서 AppConfig 클래스는 스프링 설정 클래스로, 내부에 정의된 myBean 메서드로부터 생성된 MyBean 인스턴스를 스프링 컨테이너에 빈으로 등록합니다.

관련 글

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다. 예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다...

2026년 1월 27일10

SQL에서 SELECT란 무엇인가?

데이터베이스를 거대한 서류 보관함이라고 생각하면 됩니다. 보관함 안에는 수많은 데이터가 차곡차곡 쌓입니다. SELECT는 이 보관함에서 "내가 원하는 정보를 찾아줘!"라고 요청하는 명령어입니다. 이 과정을 전문 용어로 '쿼리(Query)'라고 부릅니다. &nbs...

2026년 1월 26일10

[SQL 기초] "언제 하나씩 다 넣어?" 데이터 한 번에 넣기

개발을 하다 보면 데이터베이스(DB)에 샘플 데이터를 대량으로 넣어야 할 때가 있습니다. 메뉴 100개를 추가해야 하는데 INSERT 문을 100번 쓰고 있다면? 너무 비효율적이죠! 오늘은 SQL에서 여러 데이터를 한 번에 넣는 '다중 삽입(Multiple Inse...

2026년 1월 21일13

SQL 데이터 삽입하기

데이터가 없는 데이터베이스는 연료 없는 로켓과 같습니다. 이제 'Missions' 테이블에 새로운 행(row)을 추가하는 방법을 알아보겠습니다. "삽입(Inserting)"은 '데이터 추가'를 의미합니다. 기존 Missions 테이블 ...

2026년 1월 20일12