728x90
반응형
스프링(Spring) 프레임워크
- 엔터 프라이즈 어플리케이션 개발을 위해 만들어진 경량 프레임워크
- 특징
- POJO (Plain Old Java Object)
- 모듈식 프레임워크
- 높은 확장성, 범용성, 광범위한 생태계
- 경량급 오픈소스 프레임워크
POJO Plain Old Java Object
- POJO: 특정 기술에 종속되지 않는 순수 자바 객체
- 모든 스프링 어플리케이션은 POJO 객체와 스프링 컨테이너를 포함한다.
- POJO 클래스를 개발하고, 스프링 컨테이너는 이 POJO 객체들을 관리한다.
- 스프링 컨테이너는 이 POJO 객체들의 생성, 의존성 주입, 생명주기를 관리한다.
- 스프링 컨테이너가 관리하는 객체를 Bean 이라고 한다.
- 스프링 컨테이너: o.s.Context.ApplicationContext 인터페이스를 구현한 구현 클래스
스프링 프레임워크의 세가지 핵심 요소
- 의존성 주입 (Depenency Injection)
- 런타임 시점에 의존성을 주입함으로써, 객체간 종속성을 유동적으로 하기 위함
- 관점 지향 프로그래밍 (AOP: Aespect Oriented Programming)
- 기능적 요구사항과 비기능적 요구사항 분리
- 서비스 추상화 (Service Abstraction)
용어 정리
- Bean: 스프링 컨테이너가 관리하는 객체
- POJO: 특정 기술에 종속되지 않은 순수 자바 객체
- 도메인: 소프트웨어 상에서 해결해야 할 비즈니스 영역의 문제
- 기능적 요구 사항: 사용자에게 직접 서비스하는 기능을 정리한 것
- 비기능적 요구 사항: 서비스 기능은 아니고, 개발에 필요한 기능을 정리한 것
- 예시: 로그 남기기, RDBMS 트랜잭션 시작 & 커밋하는 코드
- 다시 말하자면, 사용자가 알 수 없는 내용
728x90
반응형