의존성 주입 Dependency Injection 2

Manx·2022년 4월 29일
0

spring

목록 보기
3/24


Spring에서는 빌드할 때 Spring Container에 객체들을 올려서 관리하므로 Container에 올리는 방법을 알아두자.
Spring Container에 객체를 등록하는 방법은 @Component 어노테이션을 이용하면 된다.
@Component 어노테이션이 있는 클래스의 객체를 만들어 Container에 올려준다.

1. 컴포넌트 스캔을 이용한 방법

MemberService 클래스에 @Service 어노테이션을 입력한다.
@Service의 선언을 보면 다음과 같이 Componect 어노테이션이 있다.

그 후 Controller에는 @Controller 어노테이션을 등록한 후 필요한 객체들에 @Autowired를 달아주면, Spring Container에 있는 객체들끼리 연결된다고 생각하면 된다.

@Controller도 마찬가지로 Component 어노테이션이 달려있다.

2. 자바 코드로 스프링 빈 등록

Config 파일을 만들어준 뒤 필요한 객체들을 @Bean을 통해 스프링 컨테이너에 등록해준 후, 생성자에 그 객체를 넣어준다.

@Configuration
public class SpringConfig {
	
    @Bean
    public MemberService memberService() {
    	return new MemberService(memberRepository());
    }
    
    @Bean
    public MemberRepository memberRepository() {
    	return new MemoryMemberRepository();
    }
}

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한 강사님 의 강의 내용을 정리한 것 입니다.

profile
백엔드 개발자

0개의 댓글