-
2. 스프링 프레임워크개발자 수업/Spring 2021. 12. 29. 09:57
1. 프레임워크(framework) 정의
1) '어떤 것을 구성하는 구조 or 뼈대'
2) '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'
2. 프레임워크(Framework) 장점
1) 일정한 기준에 따라 개발이 이루어지므로 개발 생성산성 품질이 보장된 애플리케이션 개발 가능
2) 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장
3. 스프링 프레임워크
1) Spring makes it easy to create Java Enterprise Applications.
- Enterprise Applications : 대규모의 복잡한 데이터를 관리하고, 이러한 데이터를 이용해 비즈니스 프로세스 지원 및 자동화함
- 비즈니스의 근간으로 보안과 안정성, 확장성이 필요하며, 뛰어난 성능, 서비스의 안정성 요구
- 다수의 사용자가 접근함, 분산된 다른 엔터프라이즈 애플리케이션과 통합됨
- 데이터 입/출력을 위한 다양한 사용자 인터페이스가 제공됨
- Java EE (Enterprise Edition) : Java SE를 포함하며 multi-tier(Client, Middle, EIS), 엔터프라이즈 애플리케이션 개발환경 제공함
2) Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크임
- 전영역 포괄하는 범용적인 프레임워크
3) 컨테이너 (Container)
- 톰캣은 서블릿 컨테이너라고도 부름 -> 톰캣을 실행하면 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한 가지고 서블릿 관리
- 스프링은 애플리케이션에서 사용되는 여러 가지 빈(클래스, 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리
4. 스프링의 특징
1) EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능 수행
2) 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어함
3) 의존성 주입 (DI, Dependency Injection) 기능을 지원함
4) 관점 지향(AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리함
5) 영속성과 관련된 다양한 서비스를 지원함
6) 수많은 라이브러리와의 연동 기능 지원함
5. 용어 정리
1) 의존성 주입 (DI, Dependency Injection)
- 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법
2) 제어 역행 (IoC, Inversion of Control)
- 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법
3) 관점 지향 (AOP, Aspect-Oriented Programming)
- 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법'개발자 수업 > Spring' 카테고리의 다른 글
6. Spring MVC (0) 2021.12.30 5. AOP (0) 2021.12.29 4. IoC와 DI (0) 2021.12.29 3. 스프링 의존성 주입 (0) 2021.12.29 1. 프레임워크 시작하기 (0) 2021.12.29