기본
@SpringBootApplication = @EnableAutoConfiguration + @ComponentScan + @Configuration
:Main Application
@RequestParam : parameter가져오기
Lombok
@Data = @toString + @getter + @setter + @RequiredArgsConstructor + @EqualsAndHashCode
@NoArgsConstructor : 기본 생성자 생성
@RequiredArgsConstructor : 생성자 생성(모든 final 필드만 포함). 여기에서 Bean주입도 이루어짐.
@Getter : 선언된 모든 필드의 get메서드 생성
@Builder : 빌더 패턴 클래스 생성
JPA
@Entity = Table
@Id : PK Field
@GeneratedValue : PK 생성규칙
@Column : Table Column. 생략 가능. 필요한 옵션이 있는 경우에만 사용.
@MappedSuperclass : 이 클래스를 상속받는 JPA Entity 클래스들이 이 클래스의 필드를 컬럼으로 인식
@EntityListeners : Auditing기능 포함
@CreatedDate : 생성시간 자동저장
@LastModifiedDate : 변경시간 자동저장
@EnableJpaAuditing : JPA Auditing(자동저장) 활성