study/summary
기초 Spring 2주차
으녕오리
2024. 11. 4. 02:49
<수업 목표>
- Spring Framework를 사용하기 위한 기본 개념
<준비하기>
- Postman : API의 기능을 테스트하고 디버깅
- Git Clone
- 프레임워크 : 소프트웨어 개발을 위한 환경(틀), 붕어빵틀처럼 ex)Spring
- 라이브러리 : 버전 호환성 문제로 인해 다른 라이브러리나 기존 코드와 충돌이 발생할 수 있다. -> 생각보다 빈번
- Annotation
- 프로그램에게 정보를 전달하는 역할, 주석과 비슷하다. ex) Override
- AOP같은 기술과 결합
- Lombok
- 보일러 플레이트 코드(반복적으로 작성되는 코드)를 줄여주는 라이브러리
- 자동으로 보일러 플레이트 코드를 생성한다.
- 어노테이션 기반으로 동작한다.
- ex) @Getter, @Setter
- Spring Framework
- 엔터프라이즈 애플리케이션(대규모 데이터를 처리하는 애플리케이션) 개발에 주로 사용된다.
- Java언어의 가장 큰 특징인 객체 지향 언어의 특징을 살려낸 프레임워크이다. (캡슐화, 상속, 추상화, 다형성)
- Spring Boot
- 스프링 프레임워크를 도와준다.
- 내장 WAS(Tomcat)을 제공한다.
- 자동 구성 기능, 빌드 관리 도구
- 라면(Java) + 냄비(Spring(Framework)) = 라면(Web Application) / 조리도구 세트(Spring Boot)
- Gradle : 빌드 자동화 도구
- 빌드 : 우리가 작성한 java 코드 -> 컴퓨터가 실행 가능한 파일
- 빌드 자동화 도구 : 빌드, 라이브러리 관리, 테스트, 배포 등을 자동화하여 수행한다.
- Gradle의 특징
- Build Cache : 빌드 결과물을 캐싱하여 재사용한다.
- 점진적 빌드 : 마지막 빌드 호출 이후 변경된 부분만 빌드한다.
- 데몬 프로세스 : 다음 빌드 작업을 위해 백그라운드에서 대기하는 프로세스
- 멀티 프로젝트 빌드 지원 : 공통으로 사용하는 클래스를 모듈로 만들어 독립적인 각 프로젝트에서 사용할 수 있도록 한다.
- 설정 주입 방식 : 필요한 설정을 프로젝트에 주입하는 방식
- build.gradle
- 구조
- 플러그인 : task들의 모음집
- 의존성 관리(dependencies) : 라이브러리나 패키지를 관리
- repositories : 라이브러리가 저장된 위치를 정의
- 구조
- Java 웹 기술의 역사
- Annotation 기반의 Spring MVC
- 현대에는 Spring Boot를 이용하여 웹 애플리케이션 개발을 한다.
- 최신 기술 : Web Servlet의 Spring MVC 기술