@Configuration 개념

hyunwoo·2023년 2월 6일
0

Spring (fastcampus)

목록 보기
20/27

출처: https://castleone.tistory.com/2
출처: https://mangkyu.tistory.com/75

@Configuration

설정파일을 만들기 위한 어노테이션 or Bean을 등록하기 위한 어노테이션이다.

@Configuration 애노테이션을 사용하면 가시적으로 설정파일이야 ~ , Bean 등록할꺼야 ~ 라는건 알수있다.

@EnableJpaAuditing

JpaConfig 클래스

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"로 하게 된다.
그렇기에 나중에 바꿔야한다.

Article 클래스

    @CreatedDate private LocalDateTime createdAt; // 생성일시
    @CreatedBy private String createdBy; // 생성자
    @LastModifiedDate private LocalDateTime modifiedAt; // 수정일시
    @LastModifiedBy private String modifiedBy; // 수정자
이렇게 어노테이션을 붙여주는 것만으로 간단하게 auditing이 자동으로 이뤄지게 된다. 업데이트 할 때마다 자동으로 해당 시간과 작성했던 사람을 실시간으로 넣어준다.

0개의 댓글