스프링 컨테이너와 스프링 빈

HwangJerry·2023년 4월 25일
0
post-thumbnail

스프링 프레임워크의 핵심 기능 중 하나가 제어의 역전(Inversion of Control, IoC)과 의존성 주입(Dependency Injection, DI)를 통한 객체 관리입니다.

스프링 프레임워크는 스프링 IoC 컨테이너에 객체를 넣어 관리하며, 이렇게 관리되는 객체를 스프링 빈(Spring Bean)이라고 합니다.

스프링 IoC 컨테이너(IoC Container) 특징

  • 객체 생성과 관리의 책임을 개발자로부터 가져와 프레임워크가 처리하도록 하는 개념
  • 애플리케이션 객체 생성, 의존 관계 성정, 객체의 생명주기를 알아서 관리
  • (BeanFactory 인터페이스를 확장한) ApplicationContext 인터페이스를 구현한 클래스로 구성
  • 빈 객체 생성, 의존성 주입, 빈 객체 생명주기 관리, 싱글톤을 통해 빈 객체 공유 등의 역할을 수행

스프링 빈(Spring Bean) 특징

  • 스프링 IoC 컨테이너에 의해 생성, 관리되는 객체
  • 컨트롤러, 서비스, 레포지토리 등 애플리케이션의 핵심 로직을 담당하는 컴포넌트
  • 자바 코드, XML 등을 통해 직접 등록되거나 컴포넌트 스캔을 통해 자동으로 등록 (일반적으로는 컴포넌트 스캔 이용)
    /* 자바 코드로 직접 컴포넌트 등록 예시 */
    
    @Configuration
    public class SpringConfig {
    	@Bean
    	public MemberService memberService() {
    		return new MemberService(memberRepository());
    	}
    	@Bean
    	public MemberRepository memberRepository() {
    		return new MemoryMemberRepository();
    	}
    }
profile
알고리즘 풀이 아카이브

0개의 댓글