초웹개_스프링5_시작(1)

네코·2022년 4월 27일
0
post-thumbnail

스프링 = 객체 컨테이너

AppContext.java

스프링이 생성하는 객체를 빈(Bean)객체라고 부름
@Bean 애노테이션을 붙이면 해당 메서드가 생성한 객체를 스프링이 관리하는 빈 객체로 등록.
Bean 애노테이션을 붙인 메서드는 객체를 생성하고 초기화해야한다.


Main.java

Appcontext를 읽어와 사용하는 Main class
Bean 객체는 싱글톤으로 보임. 항상 싱글톤으로 생성되는것인가 ?!
=> 별도 설정없으면 스프링은 한개의 빈 객체만 생성

핵심은 AnnotationConfigApplicationContext 클래스

스프링의 객체를 생성하고 초기화 하는 기능은 ApplicationContext라는 인터페이스에 정의되어 있고 AnnotationConfigApplicationContext은 구현체 중 하나, xml,groovy(?)로 객체 생성/초기화 하는 클래도 존재한다.

GenericXmlApplicationContext

xml을 통해 설정하면 컴파일없이 빈 설정 정보를 변경할 수 있는 장점이 있다.
프로젝트의 resources 폴더 밑에 appConfig.xml 생성

이런 식

최상위에는 BeanFactory interface

  • 객체 생성 검색 기능 정의
  • 싱글톤/프로토타입 빈인지 검색 기능도 제공

ApplicationContext or BeanFactory를 container
Bean 객체의 생성, 초기화, 보관, 제거 등을 관리

0개의 댓글