Home [Spring] @Component와 @Configuration
Post
Cancel

[Spring] @Component와 @Configuration

@Configuration의 선언부를 보면 @Component가 정의되어 있다.
@Component는 개발자가 작성한 클래스를 Bean으로 등록하고자 할 때 사용한다.
개발자가 직접 제어 가능 : @Component
개발자가 직접 제어 불가능 : @Configuration, @Bean
{. :prompt-tip}

@Component

  • 개발자가 직접 작성한 클래스를 Bean으로 등록할때 사용하는 어노테이션
  • @Controller, @Service, @Repository 등의 어노테이션에서 상속받아 사용
    1
    2
    3
    4
    
    @Component
    public class MyComponent{
      //내가 직접 작성한 클래스
    }
    

@Configuration

  • 외부 라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우 사용한다.
  • 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 사용한다.
    즉, 해당 클래스에서 한 개 이상의 Bean을 생성하고 있을때 선언한다.
1
2
3
4
5
6
7
8
9
10
//시큐어리티 중 일부
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
	public PasswordEncoder passwordEncoder() {
    	return new BCryptPasswordEncoder();
	}
}
This post is licensed under CC BY 4.0 by the author.