1. 개발 환경 구축

khs·2022년 6월 22일
1

이 시리즈는 변구훈님께서 집필하신 스프링 부트 쇼핑몰 프로젝트 with JPA 를 클론코딩하면서 중요한 내용 혹은 알지 못했던 내용을 기록하기 위해 작성했다.


스프링부트 특징

  • 내장 서버를 이용해 별도의 설정 없이 독립 실행이 가능한 스프링 애플리케이션
  • 톰캣, 제티 또는 언더토우와 같은 웹 애플리케이션서버(WAS) 자체 내장
  • 빌드 구성을 단순화하기 위한 'Spring Boot Starter' 의존성 제공
  • XML 설정 없이 단순 자바 수준의 설정 방식 제공
  • JAR를 이용해 자바 옵션만으로 배포 가능
  • 애플리케이션의 모니터링과 관리를 위한 스프링 액추에이터 제공

pom.xml

개발 과정 중에는 많은 라이브러리들이 필요한데 pom.xml파일에 필요한 라이브러리를 적어주면 메이븐이 알아서 네트워크를 통해서 다운로드하고 경로까지 지정해준다.

application.properties

스프링부트 애플리케이션 실행 시 사용하는 여러 가지 설정값들을 정의하는 파일

@RestController

  • @Controller와 @ResponseBody를 합쳐 놓은 어노테이션

    @ResponseBody 어노테이션은 자바 객체를 HTTP 응답 본문의 객체로 변환해 클라이언트에게 전송하는 역할을 함

Lombok 라이브러리

  • 반복적인 Getter/Setter, ToString과 같은 반복적인 자바 코드를 컴파일할 때 자동으로 생성해주는 라이브러리이다. Lombok 라이브러리를 사용하면 반복적인 소스코드를 제거할 수 있으므로 코드를 좀 더 깔끔하게 짤 수 있다.
어노테이션설명
@Getter/Setter코드를 컴파일 할 때 속성들에 대한 Getter/Setter 메소드 생성
@ToStringtoString() 메소드 생성
@ToString(exclude={"변수명"})원하지 않는 속성을 제외한 toString() 메소드 생성
@NonNull해당 변수가 null체크. NullPointException 예외 발생
@EqualsAndHashCodeequals()와 hashCode() 메소드 생성
@Builder빌더패턴을 이용한 객체 생성
@NoArgsConstructor파라미터가 없는 기본 생성자 생성
@AllArgsConstructor모든 속성에 대한 생성자 생성
@RequireArgsConstructor초기화되지 않은 Final, @NotNull 어노테이션이 붙은 필드에 대한 생성자
@Loglog 변수 자동 생성
@Value불변(vimmutable) 클래스 생성
@Data@ToSTring, @EqualsAndHashCode, @Getter, @Setter, @RequireArgsConstructor를 합친 어노테이션
profile
권혁상입니다. 행복코딩^_^

0개의 댓글