Framework 프레임워크
일단 프레임워크란 미리 어느정도 만들어 놓은 구조를 말한다. 다시 말해 개발에 필요한 뼈대이다. 프레임워크은 개발 시간 줄이고 코드 재사용성 증가시키기 위해 라이브러리를 구현해 놓은 것이다.
프레임워크의 종류는 너무도 다양한데 대표적으로 Bootstrap, Mybatis, Spring 등이 있다.
Spring
스프링은 자바 오픈 소스 프레임워크로 원하는 기능만 뽑아와 쓸 수 있는 프레임워크이다.
개발자는 스프링 프레임워크를 통해 개발에 필요한 뼈대에 기능이 담긴 부품을 만들어 조립하는 과정을 한다.
스프링은 약 20개의 모듈로 구성되어 있고 그 중에 마음대로 뽑아와서 쓰면 된다.
모듈은 프레임워크의 하나 하나의 틀을 말한다.
이 중 Core Container가 핵심 모듈이고 IoC와 DI를 제공한다.
Spring Framework 특징
- IoC container
Inversion of Control는 해석하면 제어 반전으로 프로그램을 제어하는 건 개발자가 아닌 프레임워크에 있다는 걸 말한다. 이는 객체(bean)들을 미리 만들어놓고 관리하는 컨테이너 역할을 한다.
- DI
Dependency Injection는 해석하면 의존성 주입으로 IoC의 핵심 기술이다. 이는 Ioc Container에서 만들고 관리하는 bean 객체 설정 정보를 바탕으로 의존관계를 컨테이너에 주입(연결)한다.
특정 bean에 필요한 bean을 개발자가 아닌 프레임워크에서 결정해 주입(연결)시키는 걸 말하는데 인터페이스를 활용해 유연하게 처리하곤 한다.
의존성 주입 방법에는 ① 생성자를 통한 주입 과 ② setter를 이용한 주입 이 있다.
--> Spring Ioc / DI 컨테이너
BeanFactory
ApplicationContext
-POJO 기반 구성
POJO는 Plain Old Java Object 를 말하며 즉 자바 코드를 이용한 객체 구성 방식이 스프링 프레임워크의 특징임을 말한다.
-AOP 지원
Aspect Oriented Programming
▶ 참고
댓글