본문 바로가기

BOOK

[책] 가장 빨리 만나는 스프링부트

스프링부트에 대한 기술서


마키 토시아키가 만들고 김범준이 옮겼다.


스프링을 회사에서 사용을 하고 있는데 몇 가지 권장되지 않는 것들이 사용되고 있어서 정리해본다.

롬복: @Data 애너테이션 - 회사에서는 @Data 를 권장하지 않는다. 왜냐하면 실제로 @Setter와 @Getter정도면 충분한데, @Data 는 추가적으로 @ToString, @EqualsAndHashCode 등을 추가로 붙이기 때문에 소스 커버리지가 떨어지고 불필요한 단위테스트들을 만들어줘야 하기 때문이다.

 p.40, 118

스프링: org.springframework.beans.BeanUtils를 사용했지만, 필드 이름과 타입이 같을 때만 사용할 수 있습니다.

 => 얼마전에 BeanUtils 때문에 DTO간 값 복사가 이루어지지 않아서 장애를 만들었는데 주요 원인이었다.

 이유인 즉슨, int 타입의 회원번호가 long으로 바꾸었는데 일부 DTO만 바뀌었던 것. 타입이 줄어든 것이 아니고 늘어난 것이라서 일부 애트리뷰트들이 남았는지 엄격하게 체크하지 않았고 warning이나 error가 없었다. 알고보니 BeanUtils.copyProperties(orginal, destination)은 예외나 에러를 내지않고 살며시 복사를 하지 않는 것이었다. 그래서 문제를 해결하기 위해 야근을 해야했다.

 p.119


[정오표]

p.105

 명령프롬프트의 id 번호가 잘못되었다.

< Location: http://localhost:8080/api/customers/5  => id 5를 요청했는데

..

<

 {"id": 6, "firstName": "Tamako", "lastName": "Nobi"}  => 6이 돌아왔다.



[읽기 기록]

1. 10/14 ~p.32

2. 11/12 ~p.104

3. 11/13 ~p.154

4. 11/14 ~p.192

5. 11/16 ~p.236 (完)