-
스프링 bean을 등록하는데는 2가지 방법이 있다.
1. 컴포넌트 스캔과 자동 의존관계 설정
@Componenet가 있으면 스프링 빈으로 자동 등록이 된다. @Componenet를 포함하는 @Controller, @Service, @Repository와 같은 어노테이션도 스프링으로 자동 등록이 된다.
2. 자바 코드로 직접 스프링 빈 등록하기
@Configuration public class SpringConfig { @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } }
등록하고자 하는 객체들을 따로 클래스를 만들어서 @Bean어노테이션을 붙혀서 만든다.
아니 그렇다면 무었을써야되는거야,,,
주로 정형화된 컨트롤러, 서비스, 레파지토리같은 코드는 컴포넌트 스캔을 사용한다. 정형화 되지 않고나, 상황에 따라 구현클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록한다.
스프링은 스프링 컨테이너에 스프링 빈을 등록할때, 기본으로 싱글톤으로 등록한다. 따라서 같은 스프링 빈이면 모두 같은 인스턴스이다.
728x90'스프링' 카테고리의 다른 글
싱글톤 컨테이너 (0) 2022.12.22 IOC,DI,컨테이너 (0) 2022.12.19 의존관계에 대한 이해 (0) 2022.12.19 동작과정 (0) 2022.12.19 웹의 기초 (0) 2022.12.19