개발자 미니민의 개발스터디

[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 를 설정하게 한다.

: 설정이 별도의 클래스 파일로 분리되어 관심사의 분리 관점이 적용된다. 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기