Spring Bean 등록, 설정방법

Yebali·2021년 1월 2일
0

약간의_Spring

목록 보기
5/30

Spring Bean을 Spring Container에 등록하기

@Configuration
public class SpringConfig {
    
    private final MemberRepository memberRepository;

    @Bean //Spring Container에 Bean을 등록(추가).
    public MemberService memberService() {
        return new MemberService(memberRepository);
    }

    @Bean
    public MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }
}

@Configuration, @Bean 애너테이션을 사용해 Bean을 추가한다.

Spring Bean 설정하는 방법 3가지

1. 필드 주입

@Autowired
private MemberService memberService;

Spring이 Spring Container에 등록되어있는 Bean을 자동으로 설정해준다.
장점 : 코드가 상대적으로 짧다.
단점 : 개발자가 Bean을 임의로 설정 할 수 없다.

2. Setter 주입

@Autowired
public setMemberService(MemberService memberService) {
	this.memberService = memberService;
}

단점 : Setter가 public으로 열려있어 다른 개발자가 Bean을 임의로 바꿀 수 있다.

3. 생성자(Constructor) 주입

@Autowired
public MemberController(MemberService memberService) {
	this.memberService = memberService;
}

장점 : 개발자가 임의로 Bean을 설정할 수 있다. 다른 개발자가 임의로 Bean을 바꿀 수 없다

기본적으로 Spring은 Spring Container내에 단 하나의 Bean을 만들어서 관리한다.
-> Singleton

profile
머리에 다 안들어가서 글로 적는 중

0개의 댓글