Converter
-
스프링 데이터 Common - Web (스프링 데이터 JPA - 6)Programming/Spring Data JPA 2021. 1. 1. 15:47
1. 스프링 Converter - PostController.java @RestController public class PostController { @Autowired PostRepository postRepository; @GetMapping("/posts/{id}") public String getPost(@PathVariable Long id) { Optional byId = postRepository.findById(id); Post post = byId.get(); return post.getTitle(); } } @RestController public class PostController { @GetMapping("/posts/{id}") public Post getPost(@PathVa..
-
WebMvcConfigurer (스프링 MVC - 3)Programming/Spring MVC 2020. 3. 22. 23:01
1. Formatter 문자열 객체 사이의 변환 1) Controller 작성 @RestController public class SampleController { @GetMapping("/hello/{name}") public String hello(@PathVariable("name") Person person) { return "hello " + person.getName(); } } 2) Person 클래스 작성 public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 3. Formatter 작성 // 빈..
-
데이터 바인딩 추상화 (스프링 핵심 기술 - 3)Programming/Spring Framework 주요 개념 2020. 3. 4. 23:17
데이터 바인딩이란? - 기술적인 관점 : 프로퍼티 값을 타겟 객체에 설정하는 기능 - 사용자 관점 : 사용자 입력 값을 애플리케이션 도메인 모델에 동적으로 변환해 넣어주는 기능 즉, 입력 값은 대부분 '문자열'인데, 그 값을 객체가 가지고 있는 int, long, Boolean, Date 등 심지어 Event, Book 같은 도메인 타입으로도 변환해서 넣어주는 기능 1. PropertyEditor - getValue, setValue 에서의 Value는 Property가 가지고 있는 값인데, 서로 다른 쓰레드에게 공유됨 (상태정보를 저장하고 있음, Thread Safe 하지 않음) 따라서, PropertyEditor의 구현체들은 여러 스레드에 공유해서 사용하면 안됨. (빈으로 등록해서 사용하면 안됨) -..