일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Jenkins
- 빌드
- 내장객체
- wrapper
- https://start.spring.io
- Java
- 무한
- 루프
- suvlet
- 제너릭
- unboxing
- 콜렉션
- 자동형변환
- boxing
- bootstrap
- Short
- 제네릭
- Scanner
- dependency
- maven
- 클래스
- start.spring.io
- 싱글턴
- 메소드
- 인텔리제이
- 언박싱
- 싱글톤
- 컬렉션
- 박싱
- 스프링
- Today
- Total
Developer Gonie
6. 스프링(Spring), 컨테이너의 종류 본문
스프링에 존재하는 컨테이너의 종류
* 스프링은 프로젝트를 실행하면 컨테이너라는 주체가 만들어지는데,
이것은 스프링빈으로 등록된 객체들의 생명주기를 관리한다.
1) BeanFactory 인터페이스
프로젝트를 실행하여 컨테이너가 구동되더라도 스프링빈으로 등록된 모든 객체가 생성되지 않으며,
필요한 객체가 있다면 그때 그때 동적으로 생성한다.
2) ApplicationContext 인터페이스(대부분의 스프링 프로젝트가 이용하는 컨테이너)
BeanFactory와 유사하게 빈 정의를 로드하고, 빈을 연결하고, 의존관계에 따라 빈을 분배한다.
프로젝트를 실행하여 컨테이너가 구동되는 시점에 스프링빈으로 등록된 모든 객체를 생성한다.
(이를 즉시로딩 = pre-loading 이라고 함)
상속받은 인터페이스에 대한 각 기능을 알고싶다면 '더보기' 를 클릭.
<ApplicationContext가 상속받은 인터페이스>
- ResourcePatternResolver
리소스를 읽어오기 위한 인터페이스
- EnvironmentCapable
개발, 운영 등 환경을 분리해서 처리하고, 애플리케이션 구동 시 필요한 정보들을 관리하기 위한 인터페이스
- MessageSource
메시지 다국화를 위한 인터페이스
- ApplicationEventPublisher
이벤트 관련 기능들을 제공하는 인터페이스
각 인테페이스의 대표적인 구현 클래스
1) BeanFactory 인터페이스의 대표적인 구현 클래스
- XmlBeanFactory(deprecated : 사용이 추천되지 않음) :
XML 파일에 포함된 정의를 기반으로 빈을 로드함.
2) ApplicationContext 인터페이스의 대표적인 구현 클래스
- FileSystemXmlApplicationContext :
XML 파일에서 빈의 정의를 로드, 사용시 주의점으로 생성자에 bean configuration XML 파일의 full path를 넘겨줘야 한다.
- ClassPathXmlApplicationContext :
XML 파일에서 빈의 정의를 로드, 위의 것과 다르게 생성자에 bean configuration XML 파일의 full path가 아닌 파일명만
넘겨도 된다. 대신, CLASSPATH를 적절하게 설정했는지 확인해야 한다. 왜냐면 필요한 XML파일을 CLASSPATH에서
찾으려고 할 것이기 때문이다.
- WebXmlApplicationContext :
웹 애플리케이션 내에서 모든 빈의 정의가 포함된 XML 파일을 로드한다.(아직 무슨 의미인지 모르겠지만 그러함)
'K-DigitalTraining 강의 > 11. Spring' 카테고리의 다른 글
8. 스프링(Spring)에서의 의존성 주입(DI, Dependency Injection) 방법 (0) | 2022.08.23 |
---|---|
7. 의존성 주입(DI, Dependency Injection) 이란 (0) | 2022.08.23 |
정규표현식을 이용한 사용자입력 유효성 검사 (0) | 2022.08.20 |
5. 스프링(Spring), 한글 인코딩 설정 방법 (0) | 2022.08.18 |
4. 스프링(Spring), Run on Server 했을 때 오류가 발생하며 실행이 안되는 경우 해결방법 (0) | 2022.08.17 |