반응형
◎ 프레임워크(Framework)란
- 사전적 의미는 '어떤 것을 구성하는 구조 또는 뼈대'
- 소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'
프레임워크의 장점
- 일정한 기준에 따라 개발이 이루어지므로 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있음
- 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장
◎ 스프링 프레임워크
1) 스프링 프레임워크(이하 스프링)는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임 워크
2) EJB(Enterprise Java Bean)보다 가벼운 경량 프레임워크(lightWeight Framework)
컨테이너(Container)란?
* 톰캣은 서블릿 컨테이너라고 부르는데, 그 이유는 톰캣을 실행하면 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리
* 스프링은 애플리케이션에서 사용되는 여러 가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리
1. 스프링의 특징
- EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행
- 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어
- 의존성 주입(DI, Dependency, Injection) 기능을 지원
- 관점 지향( AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리
- 영속성과 관련된 다양한 서비스를 지원
- 수많은 라이브러리와의 연동 기능을 지원
용어 정리
1. 의존성 주입 : 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법
2. 제어 역행 : 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법
3. 관점 지향 : 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법
2. 스프링의 주요 기능
반응형
'개발 > Spring&JPA' 카테고리의 다른 글
[JPA] Spring Data JPA의 DB 초기화 (2) | 2022.10.02 |
---|---|
[스프링] 백엔드 개발자의 필수 과제, '순환 참조(Circular Reference)' 문제 해결 (4) | 2022.09.18 |
[JPA] JPA에서 Spring Data의 Audit 기능 적용하기 (2) | 2022.09.07 |
[보안/인증] CSRF 로 인해서, 403에러가 발생했을 때 (6) | 2022.08.20 |
[스프링 코어] 스프링을 알기 전에! 프레임워크(Framework)는 무엇일까요? (2) | 2022.06.15 |