본문 바로가기
TIL WIL

20220607 TIL

by Youngin 2022. 6. 8.

스케쥴러관련 스프링 설정

 

@Scheduled(cron = "0 0 1 * * *") public void updatePrice()

=> Scheduler 클래스내 업데이트 메서드위에 선언

=> (cron = "0 0 1 * * *") // 초, 분, 시, 일, 월, 주 순서로, 1시간 마다 업데이트

 

@EnableScheduling // 스프링 부트에서 스케줄러가 작동하도록 application 파일 클래스에 선언

 

 

TroubleShoot

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: com.sparta.springcore.Product["createdAt"])

 

http://localhost:8080/api/products

post로 전송시 위와 같은 오류가 났고

 

해결은 다음과 같이 했다.

 

1.서블릿 파일이 다음과 같이 생겼는데  objectMapper.registerModule(new JavaTimeModule()); 를 추가해줌

<변경전>

// 자바 객체 -> JSON 으로 변환
ObjectMapper objectMapper = new ObjectMapper();
String productJson = objectMapper.writeValueAsString(product);

<변경후>

// 자바 객체 -> JSON 으로 변환
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
String productJson = objectMapper.writeValueAsString(product);

2) build.gradle의 dependancy에 내용 추가 (계속jsr 310 을 add 하라고 메시지가 출력됐는데, 블로그들에서 여기에 추가하라는 말 없이 그냥 이거 추가하라고만 해서... 당황스러웠음. 근데 maven의 dependancy에 누가 추가한것 보고 여기에 추가해봄) 

implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
implementation 'com.fasterxml.jackson.core:jackson-databind'

 

3) jsonSeriallize, Deserialize 어노테이션 추가 => 이걸 함으로써 최종 문제 해결

public abstract class Timestamped {
    @CreatedDate // 최초 생성 시점
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime createdAt;

    @LastModifiedDate // 마지막 변경 시점
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime modifiedAt;
}

TIL 

오늘 수료생분이 방문했는데,

어떤식으로 프로젝트를 진행했는지,

면접 경험은 어땠는지를 말해주셔서 많은 도움이 되었다.

 

비전공자는 협업 경험으로 뽑는다고...하고

생각보다 면접에서 깊게 물어보는 경우가 많다고 했다. -> 학습 내용에서 한 걸음씩 더, 반복해서, 깊게 공부하는게 필요하다고 함.

 

 

한 번 쯤 비전공자도 와줘도 좋을듯

github.com/hyeyoungs/TDP

 

'TIL WIL' 카테고리의 다른 글

20220609 TIL  (0) 2022.06.09
20220609 TIL  (0) 2022.06.09
WIL 7th  (0) 2022.06.08
20220603 TIL  (0) 2022.06.07
20220602 TIL  (0) 2022.06.02