delpho
Spring에 대하여 - 1 본문
1. Spring DI/IoC는 어떻게 동작하나요?
# IoC
- 객체 지향 언어에서 Object간의 연결 관계를 런타임에 결정하는 것
- 일반적으로는 객체 생성이 필요한 위치에서 개발자가 직접 new를 통해 생성
- 런타임이 아닌 컴파일 시 결정됌
- 일반적으로는 객체 생성이 필요한 위치에서 개발자가 직접 new를 통해 생성
# DI
- 객체간의 의존관계를 의존 관계를 컨테이너가 설정할 수 있도록 지정해주는 방식
- 객체간의 연결 관계가 느슨해짐 (기존의 생성 방법은 결합도가 높음)
2. Spring Bean이란 무엇인가요?
- sclass를 생성하고 new를 통해 생성한 객체가 아닌, Spring IoC 컨테이너가 관리하는 자바 객체를 Bean이라고 부름
- 주의! java Bean이랑은 다름
- java bean
- jsp에서 주로 사용되는 것, 데이터 전달을 위해 사용 (DTO 랑 비슷한 역할)
- 클래스는 패키지화 되어야한다.
- 멤버변수는 property(프로퍼티)라고 부른다.
- 접근제한자는 private
- 외부접근은 getter, setter로 접근한다.
- 프로퍼티가 boolean이면 get이 아니라 is사용해도 된다.
- java bean
3. 스프링 Bean의 생성 과정을 설명해주세요.
# Spring Bean의 생성 주기
- 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존 관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료
- 스프링 컨테이너가 생성되고 초기화 할 때, 설정 정보에 따라 Bean 객체를 생성한 후, 의존관계 설정
- 그 후, Bean 객체가 지정한 메소드를 호출하여 초기화 진행
- 스프링 컨테이너가 종료될 때, Bean 객체가 지정한 메소드를 호출하여 Bean 객체 소멸을 처리.
4. 스프링 Bean의 Scope에 대해서 설명해주세요.
# Bean Scope
- 스프링 컨테이너는 singleton 화 시킨 Bean을 관리하는데, 이 때 Bean이 관리되는 범위를 Bean Scope라고 함.
+ Applicaiton : 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프
5. IoC 컨테이너의 역할은 무엇이 있을까요?
- 객체 생성, 관계설정, 사용, 제거 등의 작업을 담당
'CS' 카테고리의 다른 글
Java에 대하여 - 3 (0) | 2022.06.10 |
---|---|
Java에 대하여 - 2 (0) | 2022.06.08 |
Java에 대하여 - 1 (0) | 2022.06.08 |
Spring에 대하여 - 3 (0) | 2022.06.04 |
Spring에 대하여 - 2 (0) | 2022.06.03 |