출처: https://castleone.tistory.com/2
출처: https://mangkyu.tistory.com/75
설정파일을 만들기 위한 어노테이션 or Bean을 등록하기 위한 어노테이션이다.
@Configuration 애노테이션을 사용하면 가시적으로 설정파일이야 ~ , Bean 등록할꺼야 ~ 라는건 알수있다.
package com.fastcampus.projectboard.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.AuditorAware;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import java.util.Optional;
@EnableJpaAuditing
@Configuration
public class JpaConfig {
@Bean
public AuditorAware<String> auditorAware() {
return () -> Optional.of("uno"); //TODO: 스프링 시큐리티로 인증 기능을 붙이게 될 때, 수정하자
}
}
현재 코드로는 Auditing을 할 때마다 사람 이름은 임의데이터인 "uno"로 하게 된다.
그렇기에 나중에 바꿔야한다.
@CreatedDate private LocalDateTime createdAt; // 생성일시
@CreatedBy private String createdBy; // 생성자
@LastModifiedDate private LocalDateTime modifiedAt; // 수정일시
@LastModifiedBy private String modifiedBy; // 수정자
이렇게 어노테이션을 붙여주는 것만으로 간단하게 auditing이 자동으로 이뤄지게 된다. 업데이트 할 때마다 자동으로 해당 시간과 작성했던 사람을 실시간으로 넣어준다.