본문 바로가기
Spring 입문

스프링MVC 입문14

by danny-j 2022. 11. 11.

SpringConfig

package com.danny.learningspring;

import com.danny.learningspring.repository.MemberRepository;
import com.danny.learningspring.repository.MemoryMemberRepository;
import com.danny.learningspring.service.MemberService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {

    @Bean
    public MemberService memberService(){
        return new MemberService(memberRepository());
    }

    @Bean
    public MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }
    
}
  • @Configuratoin -- 의존관계 설정, Bean을 등록하기 위한 어노테이션
    • @Bean 어노테이션을 붙인다고 되는 것이 아니고, @Bean을 사용하는 클래스에는 반드시 @Configuration 어노테이션을 활용하여 해당 클래스에서 Bean을 등록하고자 함을 명시해주어야 함
  • 위와 같이 자바 코드로 직접 스프링 빈 등록 가능
  • 향후 Repository(DB)를 변경해야할 때 Configuration파일만 바꿔주면 된다는 장점이 있음
  • ConponentScan방식으로 빈 등록을 한다면 일일이 찾아가서 바꿔줘야함
  • 컨테이너에 빈 등록은 하나만 가능하기 때문에 직접 등록을 했다면 기존의 Service와 Repository의 생성자를 지워야함

'Spring 입문' 카테고리의 다른 글

스프링MVC 입문16  (0) 2022.11.11
스프링MVC 입문15  (0) 2022.11.11
스프링MVC 입문13  (0) 2022.11.11
스프링MVC 입문12  (0) 2022.11.11
스프링MVC 입문11  (0) 2022.11.10

댓글