백엔드/spring boot

스프링 빈을 등록하는 2가지 방법

STUFIT 2024. 2. 22. 20:31
반응형

스프링에서 빈을 등록하는 방법은 2가지가 존재한다.

1. 컴포넌트 스캔과 자동 의존관계 설정

2. 자바 코드로 직접 스프링 빈 등록하기

먼저, 컴포넌트 스캔과 자동 의존관계를 설정하는 것을 알아보자면

- @Component 어노테이션이 있으면 스프링 빈으로 자동 등록이 된다.

- @Controller 어노테이션이 붙으면, 이것 또한 스프링 빈으로 자동 등록되는데 이유는 컴포넌트 스캔 때문이다.

@Componet를 포함하는 다음 어노테이션도 스프링 빈으로 자동 등록된다.

- @Controller

- @Service

- @Repository

 

두번째로는 자바 코드로 직접 스프링 빈을 등록하는 방법이다.

@Configuration 어노테이션을 이용하여 직접 빈을 등록한다.

@Configuration
public class SpringConfig {
	@Bean
    public UserService userService(){
    	return new UserService(userRepository());
        }
    @Bean
    public UserRepository userRepository(){
    	return new UserRepository();
    }
}

이렇게 하면 위의 자동 컴포넌트 스캔으로 @Service, @Repository를 사용하지 않고 직접 빈을 등록해서 사용할 수 있다.

반응형