데이터 바인딩 추상화 - propertyEditor 데이터 바인딩 org.springframework.validation.DataBinder java.beans.PropertyEditor https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/DataBinder.html WEB MVC에만 특화된 것이 아니라 여러 곳에서 쓰이는 스프링 핵심 기술 기술적인 관점 프로퍼티 값을 타겟 객체에 설정하는 기능 사용자 관점 사용자 입력값을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 기능. 입력값은 대부분 "문자열"인데, 그 값을 객체가 가지고 있는 int, long, Boolean, Date 등 심지어 Event, Book 같은 도메인 타입으로도 변환해서 넣어주는 기능. PropertyEditor public class EventEditor extends PropertyEditorSupport{ @Override public String getAsText() { Event event = (Event)getValue(); return event.getId().toString(); } @Override public void setAsText(String text) throws IllegalArgumentException { setValue(new Event(Integer.parseInt(text))); } } 스프링 3.0 이전까지 DataBinder 가 변환 작업 사용하던 인터페이스 getValue 는 PropertyEditorSupport 가 받은 객체를 가져올 수 있다. getValue와 setValue는 객체를 공유 하고 있으며 PropertyEditor가 가지고 있는 값 이다. 서로 다른 쓰레드에 공유 를 한다.( 쓰레드-세이프 하지 않음 ) Bean 으로 등록해서 쓰지 말아야 한다. Ob...
[샤니마스 SPRING PARTY2020] THE IDOLM @ STER SHINY COLORS SPRING... 상품판매 : https://idolmaster.jp/blog/?p=80506 프로듀서 여러분, 안녕하세요. 평소 아 소비 스토어를 이용해 주셔서 감사합니다. 「THE IDOLM @ STER SHINY COLORS SPRING PARTY 2020」의 회장에서 판매를 예정하고 있던 상품의 판매를 오늘부터 시작했습니다. 자세한 내용은 여기를 확인하시기 바랍니다. https://shop.asobistore.jp/feature/scspringpary2020_p/ 대상 상품은 아 소비 스토어에서 판매 페이지 내에서「 「THE IDOLM @ STER SHINY COLORS SPRING PARTY 2020」의 회장에서 판매를 예정하고 있던 상품입니다.」라고 설명하고 있습니다. 아 소비 스토어 URL : https://shop.asobistore.jp/ from http://ascarot-765.tistory.com/2511 by ccl(A) rewrite - 2020-03-25 21:54:26
Spring Web Form 1. Data Binding - request parameter들은 어떻게 해당 오브젝트로 옮겨질까 Naive solution - @RequestParam annotaion을 사용하여 메서드 매개 변수와 bind 해준다. ex) @RequestMapping("/deget") public String doGet( @RequestParam("name") String name){ ... } -> 이런 식으로 받은 매개변수를 객체를 만들어 set 해주는 방식 - @RequestParam annotaion을 사용하여 메서드 매개 변수와 bind 해준다. ex) @RequestMapping("/deget") public String doGet( @RequestParam("name") String name){ ... } -> 이런 식으로 받은 매개변수를 객체를 만들어 set 해주는 방식 Spring Data Binding - form에서 오는 매개변수를 자동으로 객체에 바인딩 시켜준다. ex) @RequestMapping(value="/docreate", method=RequestMethod.POST) public String doGet(Offer offer){ ... } -> Spring이 자동적으로 offer객체에 받은 requestParameter를 넣어준다. 바인딩 되는 과정 Dispatcher Servlet에서 요청을 받음 새로운 form bean이 인스턴스화된다. form bean은 requestParameter에서 채워진다. form bean이 모델에 추가된다. bean을 Controller로 전달 Controller에서 Dispatcher Serlvet에 Model 객체를 전달한다. Dispatcher Servelt에서 View로 Model 객체를 전달 후 View는 객체를 사용하여 r...
댓글
댓글 쓰기