소프트웨어 빌드 자동화 및 프로젝트 관리를 위한 오픈 소스 빌드 도구
작성한 Java 소스코드를 자동으로 Build
Gradle을 사용시 간편하게 .java 파일을 .jar파일로 변경.


build.gradle

필요로하는 외부 라이브러리를 dependencies 작성시 그레이들이 해당 라이브러리를 https://mvnrepository.com 라는 곳에서 자동으로 다운로드해온다.
라이브러리의 의존성을 자동으로 관리해주기에 라이브러리들의 충돌을 걱정할 필요가 없어짐.
Spring Boot 의 버전 또한 변경이 가능.



GET method로 요청
API Table : 협업하는 개발자들과 소통하기위한 테이블 문서 주로 클라이언트 개발자와 소통용

정적 , 동적 컨텐츠 지원여부
Spring
FrameWork
Spring Boot
기존의 Spring의 XML 설정을 배제하고 애너테이션(@) 설정을 적극적활용
기본적으로 자주 사용되는 설정값들을 기본값으로 설정하여 세팅에 편리.
외부 라이브러리, 하위 프레임워크에 대한 의존성관리 편의성증가.

Apache Tomcat의 내장으로 개발자가 따로 프로젝트를 설정하지 않아도 사용이가능!
HTTP(HyperText Transfer Protocol)
통신규약

Header (메타데이터)
의사표현 에 관한 데이터를 모두 넣어 주고받는 공간.Payload(HTTP(BODY))/(일반데이터)
모르는 상태 에서, 사용자의 입장에서 동작검사.누구나 테스트 가능본인이 직접 작성한 코드를 검증 하기위한 테스트 코드 작성
빠르고 정확한 테스트 가능하고 자동화가 가능
개발시간이 높고 테스트 코드도 의존이생김.
Spring에서 제공하는 Java 용 단위테스트 프레임워크
JUnit은 테스트 실행 환경을 가지고 있기 때문에 따로 main() 메서드를 실행하거나 서버를 실행시키지 않아도 이렇게 각각의 메서드 혹은 기능별로 테스트 코드를 작성하여 실행

Assertions.assertEquals(10, result); : 개발자가 예상하는 테스트 결과
package com.sparta.springprepare;
import lombok.*;
public class Memo {
private String username;
private final String contents;
}
