프레임워크 장점
1. 빠른 구현시간
- 아키텍처 골격코드는 프레임워크에서 제공, 개발자는 비즈니스 로직만 구현하면 됨
2. 쉬운 관리
- 같은 프레임워크에 적용된 애플리케이션은 아키텍쳐가 같으므로 관리하기 쉬움
3. 개발자들 역량 획일화
4. 검증된 아키텍쳐 재사용과 일관성 유지
EJB(Enterpirse Java Beans)
POJO(Plain Old Java Object)
- 평범한 옛날 자바 객체
<-> Not POJO : Servlet클래스 // 우리마음대로 만들수 없음, 반드시 Servlet에서 요구하는 규칙에 맞게 클래스 만들어야 실행할 수 있음)
Servlet 클래스 작성 규칙
- java.servlet, javax.servlet.http 패키지 import
- public 클래스로 선언
- Servlet, GenericServlet, HttpServlet중 하나를 상속
- 기본 생성자가 있어야 함
- 생명주기에 해당하는 메소드 재정의(Overriding)
스프링 프레임워크 특징
- IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크
1) 경량(Lightweight)
- 크기측면에서 가벼움, 여러개의 모듈, 각모듈은 하나이상의 jar파일로 구성
- 프레임워크가 POJO형태의 객체를 관리. 기존의 EJB객체 관리하는것 보다 훨씬 가볍고 빠름
2) 제어의 역행 (IoC : Inversion of Control)
- 애플리케이션 구성하는 객체간 느슨한 결합, 낮은 결합도 유지
- IoC가 적용되면 객체생성을 자바 코드로 직접생성하는것이 아니라, 컨테이너가 대신 처리
객체와 객체 사이의 의존관계도 컨테이너가 처리
- 소스에 의존관계가 명시되지 않으므로, 결합도가 떨어져서 유지보수 편리
3) 관점지향 프로그래밍(AOP : Aspect Oriented Programming)
- 비즈니스 메소드 개발할때, 핵심 비즈니스 로직과 각 비즈니스 메소드마다 반복해서 등장하는 공통로직 분리함으로써 응집도가 높게 개발할 수 있도록 지원
- 관점 지향 프로그래밍의 개념 : 공통으로 사용하는 기능들을 외부의 독립된 클래스로 분리하고, 해당 기능을 프로그램 코드에 직접 명시하지 않고 선언적으로 처리하여 적용하는것
- 응집도 높은 비즈니스 컴포넌트 만들수 있음 + 유지보수 혁신적 향상
4) 컨테이너(Container)
- 특정 객체의 생성관리 담당, 객체 운용에 필요한 다양한 기능 제공
- 대표 컨테이너 : Servlet컨테이너(톰캣 서버에 포함) , EJB컨테이너
- AP운용에 필요한 객체 생성, 객체간 의존관계 관리하는점에서 스프링도 일종의 컨테이너
'IT > SPRING' 카테고리의 다른 글
[SPRING] 의존성 주입 (0) | 2022.01.04 |
---|---|
[SPRING] 스프링 컨테이너, applicationContext 설정파일 (0) | 2022.01.03 |
[환경셋팅] 스프링 개발 환경 셋팅 (0) | 2021.12.28 |
02_스프링 특징 (0) | 2020.01.03 |
01_개발환경 셋팅 (0) | 2020.01.03 |