[Spring Boot] Bean?

Ik·2023년 1월 18일
0

Back

목록 보기
9/33

Bean이란?

  • Spring Ioc 컨테이너가 관리하는 Java 객체를 의미

  • 간단하게 Spring에서는 원활한 개발을 위해 Java 객체 생성, 관리해주는데 이 때 생성, 관리되는 객체를 Bean이라 부른다

Ioc

  • Inversion of Control, 제어의 역전이라고 부른다

  • Ioc는 객체의 생성을 특별한 관리 위임 주체에게 맡기는 것을 의미

  • Spring Bean이 없는 경우 모든 작업(객체들을 생성, 조작해 프로그램 흐름을 결정하는 것)을 사용자가 제어해야 한다

  • Ioc를 이용하면 생성 및 관리는 Ioc에게 위탁, 사용자가 해당 객체를 사용만 할 수 있는 환경을 조성할 수 있다





설정 방법

  1. @, Annotation이용
    • ex)
    • @Controller : Controller 에너테이션 안에 @Component 에너테이션 내장 되어 있다
    • 여기서 @Component는 Spring이 Bean으로 등록할 수 있게끔 지정해주는 역할

  2. Bean Configuration 직접 등록
    • @Configuration 이용해 class 선언하고 @Bean이용해 메서드 정의해서 등록

참고

  • 1번 방법으로 했을 때 패키지 구조와 관련해 Bean 등록이 되지 않는 문제 발생할 수 있다
  • 이 때 @ComponentScan 이용해 Controller, Service 등 Bean으로 등록해 이용할 객체들 위치한 패키지 인위적으로 지정해 등록시켜 사용할 수 있다\






ref

0개의 댓글