지금까지 썼던 annotation 정리해보기
Spring 기초 원격강의에 나온 설명대로 작성.
@EnableJpaAuditing
: 생성, 수정시간이 바꼈을 때 자동으로 넣어줌. 타임스탬프 있으면 필수@SpringBootApplication
@NoArgsConstructor
: 기본 생성자 생성
@RequiredArgsConstructor
: final 쓸 때, Controller 클래스에게 final 붙어있는 멤버변수들을 자동 생성할 수 있게 권한 부여
@Entity
: 테이블과 연계됨을 나타냄
@GeneratedValue(strategy = GenerationType.AUTO)
: 생성전략이 auto로 생성됨. 자동 증가 명령
@Id
: id임을 알려줌
@Column(nullable = false)
: 컬럼 값, 반드시 값이 존재해야함
@Getter
1) @MappedSuperclass
: created at, modified at이 상속한 클래스의 멤버 변수가 되도록 함
2) @EntityListeners(AuditingEntityListener.class)
: 생성 & 수정 시간을 자동으로 반영하도록 설정해 줌
3) @Getter
↳ 이 3가지 annotation은 타임스탬프가 실행될때 무조건 필수적으로 다 있어야함.
↳ application.java 에 @EnableJpaAuditing도 무조건 추가해줘야함.
@CreatedDate
: 생성일자임을 나타냄
@LastModifiedDate
: 마지막 수정일자임을 나타냄
@EnableJpaAuditing
: 생성일자 & 수정일자에 따라서 날짜가 자동으로 업데이트 됨 → Application에 적용
@Getter
@RequiredArgsConstructor
@Service
: 이 클래스는 서비스@Transactional
: DB정보를 업데이트 해줘야 한다. → transaction이 일어난다. 라고 함@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
: C,R,U,D
@RequestBody
: post request요청이 올때 바디에 있는 정보를, 뒤의 requestDto에 보내줘
@PathVariable
: id 주소에 붙음, 경로에 있는 변수