티스토리 뷰
- 들어가며
- 스프링이란 무엇인가?
- 애플리케이션의 기본 틀 > 스프링 컨테이너
- 스프링 컨테이너 또는 애플ㅁ리케이션 컨텍스트 > 설정정보를 참고로 구성 오브젝트를 생성, 관리
- 공통 프로그래밍 모델 > IoC/DI, 서비스 추상화, AOP
- IoC/DI > 오브젝트의 생명주기와 의존관계 모델
- 서비스 추상화 > 구체적 기술, 환경에 종속적이지 않도록 유연한 추상 계층 두어야
- AOP > 애플리케이션 코드에 산재한 (수평적 관심사가 동등한) 부가적 기능을 독립적으로 모듈화
- 기술 API > JavaEE 기반
- 스프링의 성공요인
- 단순함 > POJO 지향
- 유연성 > 서드파티 프레임워크의 다양함, 스프링을 필요에 맞게 확장하여 자신만의 프레임워크를 만들어 사용할 수 있어야한다.
- 스프링 학습과 활용의 어려움 > 순서대로 스프링의 핵심 가치와 원리에 대한 이해를 가지고 스프링의 기술에 대한 지식과 선택 기준을 정립, 스프링의 적용과 확장이 필요
- 스프링 3.1 기준으로 공부를 하고 있으니 스프링 3.0 > 4.0 > 5.0에 이르기까지 달라진 기능과 추가된 기능을 숙지할 것.
- IoC 컨테이너와 DI
- IoC 컨테이너: 빈 팩토리와 애플리케이션 컨텍스트(interface BeanFactory, interface ApplicationContext는 BeanFactory 상속한 서브인터페이스)
- 오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 독립된 컨테이너가 담당
- 스프링컨테이너(애플리케이션 컨텍스트)는 단순 DI 작업+엔터프라이즈앱개발 위한 여러 컨테이너 기능이 추가
- 실제 스프링 컨테이너 또는 IoC컨테이너는 ApplicationContext의 구현 클래스 오브젝트
- IoC 컨테이너 이용한 애플리케이션 만들기
- POJO 클래스의 준비
- Plain Old Java Object JavaEE의 무거운 객체를 지양하고 각자 기능에 충실한 객체
public interface Printer { void print(String message); } public class StringPrinter implements Printer { private StringBuffer buffer = new StringBuffer(); public void print(String message) { this.buffer.append(message);} public String toString() { return this.buffer.toString(); }
- 설정 메타정보
- 애플리케이션 컨텍스트는 BeanDefinitionReader에 의해 변환된 BeanDefinition으로 만들어진 메타정보를 담은 오브젝트를 사용해 IoC/DI 작업을 수행
- 빈 아이디, 이름, 별칭/ 클래스/ 스코프/ 프로퍼티 값 또는 참조/ 지연로딩, 우선 빈, 오토와이어, 부모 빈, 빈팩토리 이름 등의 정보를 사용
- 스프링 IoC 컨테이너는 메타정보를 읽은 후 이를 참고하여 빈 오브젝트를 생성, 프로퍼티나 생성자를 통해 DI(Dependency Injection) 작업 수행
- 리스트 1-5 Hello 클래스 빈 등록
- p57부터
'개발' 카테고리의 다른 글
짤방 저장소와 이미지 모자이크, 블러, 크기조절 (0) | 2018.07.26 |
---|---|
jshint (0) | 2018.07.18 |
다이어그램 (0) | 2018.06.07 |
개발자가 블로그를 해야하는 이유 (0) | 2018.05.12 |
c로 쓴 자료구조론 솔루션 (0) | 2018.05.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday