[spring] 주요 인터페이스, 의존성 주입 개념
by mini_min[spring] 주요 인터페이스, 의존성 주입 개념
✔️ 주요 인터페이스
: BeanFactory : 스프링 빈 컨테이너에 엑세스 하기 위한 루트 인터페이스이다.
설정 파일의 <bean> 태그에 설정된 클래스의 객체를 생성하고 관리하는 가장 기본적인 컨테이너 기능만 제공한다.
컨테이너가 구동될 때 <bean> 태그에 설정된 클래스의 객체를 생성하지 않고 클라이언트의 요청에 의해서만 <bean> 태그에 설정된 클래스의 객체가 생성되는 지연 로딩 방식을 사용한다.
: ApplicationContext : 어플리케이션에 설정 정보를 제공하기 위한 스프링 어플리케이션의 주요 인터페이스이다.
빈 팩토리 인터페이스를 상속받은 하위 인터페이스이다.
빈 팩토리 가 제공하는 빈 관리 기능 이외에도 파일과 같은 자원 처리 추상화, 메시지 지원 및 국제화 지원, 이벤트 지원 등 추가 적인 기능을 제공한다.
컨테이너가 구동되는 시점에 <bean> 에 등록된 클래스의 객체를 생성하는 즉시로딩 방식을 사용한다.
: GenericXmlApplicationContext : XML 파일을 설정 정보로 사용하는 스프링 컨테이너
파일 시스템이나 클래스 경로에 있는 XML 파일을 설정 정보로 사용하는 스프링 컨테이너이다.
✔️ Spring Bean
: 빈은 스프링 빈 컨테이너에 존재하는 객체를 말한다.
💖 빈 설정 방법
- XML 기반 설정
: 빈 태그를 이용하여 빈을 설정한다.
: 관심사의 분리 관점이 적용된다.
: XML 값들은 모두 String 형이기 때문에 type safe 하지 않다.
- Annotation 기반 설정
: @Component , @Service 등을 사용하여 설정
: 자바 코드로 설정하기 때문에 type safe
: spring 이 빠르게 container 를 설정하게 한다.
- 자바 기반 설정
: @Configuration 과 @Bean 을 사용하여 설정
: 자바 코드로 설정하기 때문에 type safe
: spring 이 빠르게 container 를 설정하게 한다.
: 설정이 별도의 클래스 파일로 분리되어 관심사의 분리 관점이 적용된다.
'Spring' 카테고리의 다른 글
[spring] bean Scopes 빈 객체 범위 정의 (0) | 2022.11.09 |
---|---|
[spring] 의존성 주입 - 생성자, setter, 프로퍼티 파일 (0) | 2022.11.09 |
[spring] DI (Dependency Injection) 의존성 주입 (0) | 2022.11.08 |
[spring] <bean> 태그, 생성자 의존성 주입 방법 (0) | 2022.11.08 |
[spring] 스프링 개념 - 스프링 프레임워크란? (0) | 2022.11.08 |
블로그의 정보
개발자 미니민의 개발로그
mini_min