티스토리 뷰

Programing/TIL

20190305

oh-yes 2019. 3. 5. 19:11

1. Effective-Java-3e 읽기/실습

  • 아이템 20. 추상 클래스보다는 인터페이스를 우선하라
  • 아이템 21. 인터페이스는 구현하는 쪽을 생각해 설계하라

자바8의 디폴트 메소드에 대한 언급과 더불어 추상화를 위한 구현 방법으로 인터페이스 단독으로 사용하는 경우와 추상클래스를 인터페이스의 구현으로 사용하고 조금 더 확장성 있는 클래스 구조를 가질 수 있도록 설명하는 구절이 인상적이었다. 인터페이스 역시 앞에서의 아이템 설명처럼 충분히 문서화하고 구현에 설명을 자세히 써주는 것이 중요한 구절 역시 보면서 무릎을 탁!

2. @JsonView

class LoanContractViews {
    interface Simple
    interface Detailed : Simple
}

json 반환 데이터를 다이나믹하게 해줘야 할 요구사항이 생겼는데, 이를 처리 하려고 생각하다보니 이전에 사용했던 @JsonView가 얼핏 생각나서 기억을 꺼내서 다시 사용해봤다. 역시 편리하다

3. @ReqeustBody Setter 관련

링크를 읽고 새삼 반성하는 부분이 많았다. 당연히 getter/setter를 만들어서 작업했었고, 이에 대한 값 바인딩이 당연히 setter 기준으로 진행되리라 생각하고 있었는데, 실제로 @ReqeustBody에 대해서는 세터 주입이 안일어나고 Jackson2HttpMessageConverter를 이용한 값 바인딩이 이뤄진다는 사실을 알았다. 근데, Get 요청에 대한 QueryParameter에 대해서는 반드시 setter가 필요하다 by WebDataBinder

'Programing > TIL' 카테고리의 다른 글

20190507  (0) 2019.05.07
20190504  (0) 2019.05.04
20190501  (0) 2019.05.01
20190311  (0) 2019.03.11
20190304  (0) 2019.03.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함