Spring Bean & Annotation

Woozy9ucci·2023년 12월 11일
0

Spring Bean

  • Spring Bean 이란?

    • Spring IoC Container가 관리하는 객체
  • Spring Bean 등록 방법

    • 기본적으로 @Component Annotation을 통해 이루어진다.
      ex)

      @Component
      class Dependency()
    • Bean Configuration 파일을 활용하는 방법도 가능 (@Configuration + @Bean)

      @Configuration
      class DependencyConfiguration() {
      
        @Bean
        fun exampleDependency(): Dependency {
            return Dependency()
        }
      }
  • 간단한 Annotations

    • @Component
      해당 클래스를 SpringBean 으로 등록
    • @ComponentScan
      Spring이 Bean을 찾을 때 어느 패키지에서 검색할 지 지정.
      어노테이션이 해당 된 패키지와 하위 패키지에서 @Component(@Controller, @Service, @Repository - Component의 특수 형태) 등이 붙은 클래스를 스캔하여 빈으로 등록
    • @Configuration
      Java 클래스를 Spring의 설정 파일로 사용(지정)
      해당 클래스 내부에서 @Bean 어노테이션을 사용하여 빈을 정의할 수 있음
    • @Bean
      Configuration과 함께 사용
    • @Autowired
      Bean DI를 희망한다

    Bean Scopes

  • Bean Scope란?

    • Bean의 생명주기
    • Bean instance 의 생명주기를 결정함
    • 기본적으로 Singleton (성능 향상과 자원 관리)
    • 따라서 Bean은 내부에 상태정보를 갖지 않는 Stateless 방식으로 생성되어야 함
    • 이 외 다른 생명 주기들 또한 직접 설정 가능

0개의 댓글