Audit 기능 : Spring Data JPA에서 시간에 대해서 자동으로 값을 넣어주는 기능
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class Timestamped {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdAt;
@LastModifiedDate
@Column
private LocalDateTime modifiedAt;
}
@MappedSuperclass
public class Board extends Timestamped {
@EntityListeners(AuditingEntityListener.class)
: 해당 클래스에 Auditing 기능을 포함
@SpringBootApplication
@EnableJpaAuditing
public class DemoApplication {
...
스프링 부트 애플리케이션 클래스로 표시
@SpringBootApplication
이 있는 클래스는 main 메서드를 가져야 하며, 애플리케이션을 실행할 때 이 메서드가 호출된다.자동 구성 설정 활성화
컴포넌트 스캔 활성화:
@Component
, @Service
,@Repository
, @Controller
등과 같은 스프링 컴포넌트 어노테이션이 붙은 클래스를 검색하고 빈으로 등록하는 기능을 제공한다.스프링 부트의 구성 옵션을 기본값으로 제공
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...