반응형
목차
1. Spring Framework
1. Spring Framework 등장 배경
- 많은 사용자의 요청을 한꺼번에 처리해야하는 경우 → 서버의 성능, 신뢰성, 보안 중요.
- 이러한 복잡한 부분을 해결해주는 개발 환경 제공 필요 → Spring Framework 등장.
- 개발자들은 비즈니스 로직에 집중 가능해짐.
2. Spring Framework 특징
- 애플리케이션의 다양한 구성 요소를 유연하게 연결 및 관리.
- Spring Framework는 누구나 사용할 수 있는 오픈소스.
- 모듈화되어 있어 필요에 따라 특정 기능만 선택적 사용 가능.
- Java의 객체 지향 언어 특징을 살려낸 프레임워크.
- 캡슐화
- 상속
- 추상화
- 다형성
2. Spring Boot
- Spring Framework 기반 간편하고 신속하게 애플리케이션을 개발할 수 있도록 도와주는 도구.
1. Spring Boot의 등장 배경
- Spring Framework의 복잡하고 방대한 초기 설정과 구성 파일.
- 스프링 애플리케이션 개발 및 배포를 위해서는 여러 가지 의존성 관리와 서버 설정 필요.
- 최소한의 노력으로 스프링 애플리케이션을 쉽게 개발하고 배포할 수 있는 방법 필요.
2. Spring Boot의 특징
- 자동 구성 기능 제공 → 복잡한 설정을 직접 처리할 필요 X, 기본 설정으로도 비즈니스 로직 집중 가능.
- 내장 WAS(Tomcat) 제공 → 별도의 서버 설정 없이 바로 실행 가능.
- spring-boot-starter-web을 빌드 관리 도구에 추가하면 웹 애플리케이션에 필요한 모든 종속성과 설정 자동 구성됨.
- 라이브러리 버전을 명시하지 않아도 호환 가능한 버전 자동 설정 ( 100% 해결해주지는 않음!! )
3. Gradle
- Java와 유사한 문법 구조
- Groovy 기반의 스크립트 언어
- 다양한 소프트웨어를 빌드할 수 있는 유연한 빌드 자동화 도구.
※ 빌드
- 소스 코드를 컴퓨터가 실행 가능한 파일로 변환해주는 작업.
※ 빌드 자동화 도구
- 빌드, 라이브러리 관리, 테스트, 배포 등을 자동화하여 수행.
1. Gradle 특징
- 유연성
- 복잡한 빌드 시나리오를 처리할 수 있는 유연한 시스템 제공.
- 빌드 스크립트를 통해 다양한 빌드 작업 정의, 필요한 경우 커스터마이징.
- 성능
- Build Cache
- 빌드 결과물을 캐싱하여 재사용.
- 라이브러리 의존성을 캐싱하여 재사용.
- 점진적 빌드
- 마지막 빌드 호출 이후 변경된 부분만 빌드.
- 변경되지 않은 부분은 캐시 결과를 검색해 재사용.
- 데몬 프로세스
- 다음 빌드 작업을 위해 백그라운드에서 대기하는 프로세스.
- 초기 빌드 이후부터는 빌드 실행 시 초기화 작업을 거치지 않음.
- Build Cache
- 멀티 프로젝트 빌드 지원
- 공통으로 사용하는 클래스를 모듈로 만들어 독립적인 각 프로젝트에서 사용할 수 있도록 함.
- 설정 주입 방식
- 필요한 설정을 직접 프로젝트에 주입하는 방식.
- 공통되는 정보는 묶어서 한 번에 주입 가능.
- 프로젝트별로 설정을 다르게 주입 가능.
2. build.gradle
- 플러그인
- 특정 작업을 위해 모아 놓은 task들의 모음집.
- 의존성 관리
- 프로젝트에서 사용하는 라이브러리나 패키지 관리.
- 의존성 설정
- 라이브러리를 추가하는 시점을 설정 가능.
- Implementation
- 컴파일, 런타임 시점 모두에서 사용.
- compileOnly
- 컴파일할 때만 사용되고 런타임 때에는 사용하지 않음.
- runtimeOnly
- 런타임 때만 사용.
- testImplementation
- 테스트할 때만 사용.
- repositories
- 라이브러리가 저장된 위치 정의, 저장소에서 라이브러리 가져옴.
반응형
'스파르타 내일배움캠프 > TIL(Today I learned)' 카테고리의 다른 글
25.04.04 TIL - 일정 관리 개선 앱 트러블 슈팅 (2) | 2025.04.04 |
---|---|
25.04.03 TIL - MVC 패턴(1) (2) | 2025.04.03 |
25.04.01 TIL - 프레임워크, 라이브러리, Annotation, Lombok (2) | 2025.04.01 |
25.03.31 TIL - Web Application(2) (2) | 2025.03.31 |
25.03.28 TIL - Web Application(1) (3) | 2025.03.28 |