스프링 프레임워크
스프링 프레임워크는 Java Application Framework로 엔터프라이즈 애플리케이션 개발에 주로 사용된다.
엔터프라이즈 애플리케이션은 대규모로 복잡한 비즈니스 프로세스와 데이터를 처리하는 애플리케이션을 뜻한다.
Spring Framework 등장 배경
대형 쇼핑몰 시스템(엔터프라이즈 애플리케이션)을 만든다고 해보자 이 시스템은 다음과 같은 기능들이 필요할 것이다.
- 수백만 명의 고객이 동시에 상품을 검색하고, 장바구니에 담고, 결제를 시도한다.
- 이러한 시스템은 많은 사용자의 요청을 한꺼번에 처리해야 한다.
- 따라서 서버의 성능, 신뢰성, 보안이 아주 중요하다.
하지만 이러한 요소들을 모두 고려하면서 비즈니스 로직을 개발하는 것은 쉽지 않다.
만약 누군가가 이러한 복잡한 부분을 해결해 주는 개발 환경을 제공해준다면, 개발자는 비즈니스 로직에만 집중할 수 있다.
이때 등장한 것이 Spring Framework이다.
- Spring Framework는 서버 성능, 안전성, 보안 문제를 고도화된 수준으로 해결해준다.
- 개발자들은 복잡한 문제를 해결하는 대신, 비즈니스 로직 개발에 집중할 수 있게 되었다.
Spring Framework 특징
애플리케이션의 다양한 구성 요소를 유연하게 연결하고 관리할 수 있도록 해준다
Spring Framework는 누구나 사용할 수 있는 오픈소스이다.
모듈화되어 있어 필요에 따라 특정 기능만 선택적으로 사용할 수 있다.
Java 언어의 가장 큰 특징인 객체 지향 언어의 특징을 잘 살려낸 프레임워크이다.
- 캡슐화
- 상속
- 추상화
- 다형성
Spring Boot
Spring Framework를 기반으로 하여 간편하고 신속하게 애플리케이션을 개발할 수 있도록 도와주는 도구이다.
Spring Boot의 등장 배경
스프링 프레임워크는 초기 설정과 구성 파일이 복잡하고 방대했다.
스프링 애플리케이션을 개발하고 배포하기 위해서는 여러 가지 의존성 관리와 서버 설정이 필요하다.
최소한의 노력으로 스프링 애플리케이션을 쉽게 개발하고 배포할 수 있는 방법이 필요했다.
Spring Boot의 특징
자동 구성(Auto-configuration) 기능을 제공하여, 개발자가 복잡한 설정을 직접 처리할 필요 없이 기본 설정으로도 비즈니스 로직에 집중할 수 있게 해준다.
내장 WAS(Tomcat)를 제공하여, 애플리케이션을 별도의 서버 설정 없이 바로 실행할 수 있다.
spring-boot-starter-web를 빌드 관리 도구에 추가하면 웹 애플리케이션에 필요한 모든 종속성과 설정이 자동으로 구성된다.
라이브러리들의 버전을 명시하지 않아도 호환 가능한 버전들을 찾아 자동으로 설정해준다.
- 주의! 버전 관련 문제를 100% 해결해 주는 것은 아니다.
'스프링 프레임워크' 카테고리의 다른 글
HttpMessageConverter (0) | 2024.11.27 |
---|---|
Spring의 MVC의 구조 (0) | 2024.11.27 |
프론트 컨트롤러 패턴와 어댑터 패턴 (0) | 2024.11.27 |
MVC 패턴 (0) | 2024.11.27 |
Template Engine이란 (0) | 2024.11.27 |