728x90

개념

Bean
Spring Container에서 생성되는 객체

Container

  • 인스턴스의 생명주기를 관리
  • 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것
  • 개발자가 작성한 코드의 처리과정을 위임받은 독립적인 존재
  • 적절한 성정만 되어있다면, 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤

Spring Container

  • Spring Framework의 핵심부에 위치
  • 종속 객체 주입을 이용하여 Appication을 구성하는 Component들을 관리

Bean

  • Spring IoC Container가 관리하는 자바 객체
    • Spring IoC(Inversion of Control) Container에 의해 인스턴스화, 관리, 생성
  • Spring Bean Container에 존재하는 객체
  • Bean Container는 의존성 주입을 통해 Bean 객체를 사용할 수 있도록 해줌
  • Spring에서 Bean은 Singleton으로 존재
    • Singleton : 어떤 class가 최초 한번만 메모리를 할당하고(static) 그 메모리에 객체를 만들어 사용하는 디자인패턴
  • Spring에서 POJO(Plain Old Java Object)를 Beans라고 일컫음
    • POJO : 본래 자바의 장점을 살리는 특정 기술에 종속되어 동작하는 것이 아닌 오래된 방식의 순수한 자바 객체
  • Application의 핵심을 이루는 객체
  • Container에 공급하는 설정 메타 데이터(xml)에 의해 생성
    • Container는 이 메타데이터를 통해 Bean을 생성, Bean Life Cycle, Bean Dependency등을 알 수 있다.
  • new 연산자로 생성하는 객체는 Bean이 아니며, ApplicationContext.getBean()으로 얻어질 수 있는 객체는 Bean
  • Spring에서의 Bean은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미

 

Bean 생성 방식

Component Scannig

 

Configuration

 

XML 파일에 설정

 

Bean Scope

 

--> 무슨 말인지 지금은 모르겠다....ㅠㅠ 공부 후, 추후 내용을 추가하기로!


참고 사이트

- https://velog.io/@gillog/Spring-Bean-%EC%A0%95%EB%A6%AC

728x90

'IT > Spring' 카테고리의 다른 글

[Spring] MVC와 템플릿 엔진  (0) 2022.06.18
[Spring] 정적 컨텐츠  (0) 2022.06.18
[Spring] AOP  (0) 2022.06.18
[Spring] 빌드하는 법  (0) 2022.06.18
[Spring] View 환경설정 - Welcome page  (4) 2022.06.17

+ Recent posts