[ 스프링 Spring Framework ]
정의
자바 기반 엔터프라이즈급 애플리케이션 개발을 위한 프레임워크
활용처
전자정부프레임워크 → 대한민국 공공기관 표준 개발 환경
특징
- IOC / DI: 객체 의존성 관리 (Inversion of Control, Dependency - Injection)
- AOP: 로직을 모듈화(레고처럼 분리/재사용)
- MVC2 & 3-Tier 구조 지원
- 확장성과 유연성 우수
[ 스프링 부트 Spring Boot ]
정의
스프링을 더 쉽게, 빠르게 쓸 수 있도록 만든 자동 설정 기반 스타터 프레임워크
활용처
복잡한 XML/환경 설정 없이 빠른 프로젝트 시작 가능
특징
- 스프링 부트 안에 스프링 포함
- 내장 Tomcat 웹서버 제공 → 별도 서버 설치 없이 실행
- Tomcat: 자바 기반 웹 서버, 서블릿 엔진, JSP 처리 라이브러리 포함
- 예: Starting Servlet engine: [Apache Tomcat/10.1.43]
[ 그레이들 Gradle ]
정의
자바 기반 빌드 자동화 도구
특징
- 의존성 관리: 필요한 라이브러리 자동 다운로드
- 빌드 & 패키징 & 배포 자동화
- 코드 몇 줄로 라이브러리 추가 가능 (단, 국내 전용 라이브러리는 거의 없음)
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'com.mysql:mysql-connector-j'
}
[ 개념 비교 ]
- 코드: 개발자가 작성하는 명령어
- 라이브러리: 특정 기능을 모아둔 코드 묶음 (.jar) → 도구 제공
- 프레임워크: 라이브러리 + 개발 환경/구조 → 개발 규칙과 틀 제공