728x90
스프링프레임워크
- 01 스프링 프레임워크 소개
- 스프링 프레임 워크란?
- 자바 언어를 이용해 엔터프라이즈급 개발을 편리하게 만들어주는 오픈소스 경량급 애플리케이션 프레임 워크
- 오픈소스 : 스프링 프레임워크는 모든사람에게 공개, 어떤 기업과 개인들 모두가 사용가능, 그래서 많은 사람들에게 검증되어있다.
- 경량급: 스프링이전에도 많은 프레임 워크가 존재했지만 다른 기술에 비해서 개발자가 작성해야할 코드가 적다.
- 애플리케이션 프레임워크 : 애플리케이션을 개발할때 대부분의 업무분야와 대부분의 기술의 뼈대를 제공해준다.
- 웹프레임워크란?
- 웹 + 프레임워크
- 웹서비스에 필요한 기능들을 제공해주는 다양한 도구들의 모임
- 웹프레임워크를 사용하는 이유
- 웹서비스를 구성하기 위해서는 매우 많은 기능이 필요함
- 이러한 기능들을 하나씩 직접 만드는것에는 너무나 큰 비용이 발생
- 웹서비스는 많은 부분이 정형화 되어 있음
- 프레임워크를 사용하여 정형화된 부분을 간단하게 구현
- 필요한 부분만 집중해서 개발
- 스프링 프레임 워크의 핵심가치
- 애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것
- 스프링 MVC의 기본 구성 미리보기
- 파란색 (스프링 MVC에서 담당하는 부분이 주를 이루는 부분):
- Dispatcher Servlet: 클라이언트 요청을 받아 적절한 핸들러에게 전달하는 스프링 MVC의 핵심 컴포넌트입니다.
- Handler Mapping: 요청 URL을 어떤 컨트롤러(핸들러)가 처리할지를 매핑하는 역할을 합니다.
- Handler Adapter: 컨트롤러(핸들러)의 실행을 담당하고, 해당 메소드를 호출하는 역할을 수행합니다.
- View Resolver: 컨트롤러(핸들러)에서 반환된 뷰 이름을 기반으로 실제 뷰를 찾아주는 역할을 합니다.
- Model: 컨트롤러(핸들러)에서 뷰로 전달되는 데이터를 담고 있는 객체입니다.
보라색 (개발자가 개발해야하는 부분이 주를 이루는 부분):
- View name: 실제 사용될 뷰의 이름을 지정하는 부분으로, 뷰 리졸버를 통해 실제 뷰로 매핑됩니다.
- Controller: 요청을 처리하고 비즈니스 로직을 수행하는 부분으로, Dispatcher Servlet에서 요청을 처리하는 핸들러입니다.
- Service (Business Logic): 비즈니스 로직을 구현하는 부분으로, 서비스 계층에서 실제 비즈니스 로직이 수행됩니다.
- Repository (Data Access): 데이터베이스나 외부 데이터 소스에 접근하는 부분으로, 데이터 액세스를 담당합니다.
초록색 (스프링 MVC가 담당하는 부분과 개발자의 관여 둘 다 많이 필요한 부분):
- View: 클라이언트에게 보여지는 사용자 인터페이스 부분으로, HTML, JSP, Thymeleaf 등과 같은 템플릿 엔진을 사용하여 뷰를 구현합니다.
이 구성요소들은 스프링 MVC에서 웹 애플리케이션을 개발하는 데 필요한 핵심 요소들이며, 각 부분은 서로 협력하여 완전한 웹 애플리케이션을 구성합니다. 개발자는 컨트롤러, 서비스, 데이터 액세스 계층을 구현하고, 뷰와 비즈니스 로직을 적절히 분리하여 웹 애플리케이션을 개발하게 됩니다.
- 스프링 생태계
- Spring Framework:
- 스프링의 핵심이 되는 프레임워크로, 의존성 주입(Dependency Injection), AOP(Aspect-Oriented Programming) 등을 지원하여 개발자가 애플리케이션을 더 쉽게 만들고 유지보수할 수 있도록 돕습니다.
- Spring Boot :
- 스프링 애플리케이션을 쉽게 개발하고 실행할 수 있도록 도와주는 프로젝트입니다. 자동 구성과 간단한 설정을 통해 빠르고 쉽게 스프링 애플리케이션을 만들 수 있습니다.
- Spring Data :
- 데이터 액세스 레이어를 간소화하기 위한 스프링 프로젝트 중 하나입니다. 다양한 데이터베이스 및 데이터 저장소를 사용할 때 객체 매핑 및 데이터 액세스 계층을 단순화합니다.
- Spring Cloud :
- Spring 기반의 마이크로서비스 아키텍처를 구축하기 위한 도구 모음입니다. 분산 시스템, 서비스 디스커버리, 로드 밸런싱, 구성 관리 등을 위한 기능을 제공합니다.
- Spring Session :
- Spring 기반 애플리케이션의 세션 관리를 위한 프레임워크입니다. 웹 애플리케이션에서 세션 데이터를 관리하고 분산된 환경에서의 세션 관리를 지원합니다.
- Spring Security :
- 인증, 권한 부여 및 보안을 처리하는 데 사용되는 스프링 프레임워크의 모듈입니다. 웹 애플리케이션 및 RESTful 서비스의 보안을 구현하는 데 도움을 줍니다.
- Spring REST Docs :
- RESTful API 문서화를 위한 도구입니다. 테스트 기반의 API 문서 생성을 지원하여 API 엔드포인트, 요청 및 응답을 문서화합니다.
- Spring Batch :
- 대규모 작업을 처리하기 위한 스프링 기반의 배치 처리 프레임워크입니다. 대용량 데이터 처리, 일괄 처리 작업 등을 지원합니다.
- 스프링 프레임워크가 포함하는 기술들
- 핵심
- DI , IOC, AOP
- 웹
- Spring MVC , Spring WebFlux
- 데이터접근기술
- JDBC, ORM, Transaction
- 테스트
- 스프링 기반 테스트 지원
- 언어
- Java, Kotlin, Groovy
- 스프링 프레임워크의 장점
- 개발자의 수준과 실력에 상관없이 일정 수준의 품질 기대
- 담당자 혹은 개발자가 도중에 바뀌더라도, 유지보수에 관한 위험 낮음
- 스프링 프레임워크의 단점
- 많은 기능을 제공하고 탑재하고 있어 오버헤드 발생
- 기능을 익히기 위해 많은 노력과 시간 필요
- 퀴즈 내용 정리
- 스프링프레임워크에 대한 설명
- 자바언어의 엔터프라이즈급 개발을 편리하게 만들어주는 오픈소스 경량급 애플리케이션 프레임워크이다.
- 애플리케이션 개발에 필요한 기반을 제공해 개발자가 비즈니스 로직 구현에만 집중할 수 있도록 도와준다.
- 웹 서비스를 구성하기 위한 기능들을 제공해 주는 프레임워크이며, 정형화된 부분을 간편하게 구현할 수 있다.
- 스프링 프레임워크는 다양한 기능과 모듈을 제공하며 이를 익히기 위해서는 일정한 학습과 노력이 필요합니다. 또한 프레임워크를 활용하는 것에 따라 추가적인 설정과 구성 작업이 필요할 수 있으므로, 초기 설정이나 설정 변경에는 약간의 오버헤드가 발생할 수 있습니다.
추천인 코드 : o6i4B3y95 : 앨리스트랙 참여 링크
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자
728x90
'Elice --Cloud--Track > 4~7 주차' 카테고리의 다른 글
5주차 블로그 챌린지 - Spring Framework (3) - JDBC (0) | 2023.12.24 |
---|---|
5주차 블로그 챌린지 - Spring FrameWork (2) (0) | 2023.12.24 |
5주차 블로그 챌린지 -js (0) | 2023.12.24 |
4주차 블로그챌린지- 리눅스 기초 (1) (1) | 2023.12.17 |
4주차 블로그 챌린지-js , DOM (1) | 2023.12.17 |