● 스프링(Spring) 이란?
스프링 프레임워크(Spring Framework)는
자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다.
동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다.
여러 가지 서비스들 중 필수로 사용되는
스프링 프레임워크와 스프링 부트에 대해 알아보고자 한다.
● 스프링 프레임워크(Spring Framework)
• 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타
• 웹 기술: 스프링 MVC, 스프링 WebFlux
• 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원
• 기술 통합: 캐시, 이메일, 원격 접근, 스케줄링
• 테스트: 스프링 기반 테스트 지원
• 언어: 코틀린, 그루비
위의 것들을 통 틀어서 스프링 프레임워크라고 한다.
모두 다 스프링에서 제공되는 것들이다.
그렇다면 이러한 것들을 일일히 개발자가 설정해줘야 할까?
그 문제점을 해결해주는 것이 스프링 부트(Spring Boot)이다.
● 스프링 부트(Spring Boot)
스프링 부트는
스프링을 편리하게 사용할 수 있도록 지원해준다.
요즘 실무에서는 기본적으로 스프링 부트를 사용한다(매우 편해..)
스프링 부트는 아래와 같은 장점들이 있다.
○ 스프링 부트의 장점
• 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
• Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
• 손쉬운 빌드 구성을 위한 starter 종속성 제공
• 스프링과 3rd parth(외부) 라이브러리 자동 구성
• 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공
• 관례에 의한 간결한 설정
● 스프링의 장점
스프링 부트는
단순히 스프링 프레임워크에 있는 기술들을 사용하는데 편리함을 제공하는 것이다.
그렇다면 스프링의 진짜 장점은 무엇인가.
스프링은 자바 언어 기반의 프레임워크다.
자바 언어의 가장 큰 특징은 객체 지향 언어라는 것이다.
스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크이다.
즉, 스프링은 좋은 객체 지향 프로그래밍을 개발할 수 있게 도와주는 프레임워크이다.
'Java > Spring' 카테고리의 다른 글
[Spring] Spring 고객-주문 시스템 구현 | AppConfig | 관심사의 분리 (0) | 2022.01.14 |
---|---|
[Spring] SOLID 원칙 | 객체 지향 설계의 5가지 원칙 (1) | 2022.01.13 |
[Spring] 스프링 데이터 JPA | 스프링 데이터 JPA로 DB(데이터베이스) 연동하기 | 회원 가입, 회원 조회 (0) | 2022.01.10 |
[Spring] JPA란? | JPA의 장점 | JPA로 DB(데이터베이스) 연동하기 | 회원 가입, 회원 조회 (0) | 2022.01.10 |
[Spring] DB(데이터베이스) 연동하기 | Spring JDBC Template | 회원 가입, 회원 조회 (0) | 2022.01.10 |