프레임워크 장점

 

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

+ Recent posts