ResponseEntity를 배우기 전에 먼저 Controller와 RestController의 차이점을 알고 가보겠습니다. | Spring MVC Controller와 Restful Web Service Controller의 차이점 -가장 큰 차이점은 HTTP Response Body가 생성되는 방식입니다. | 기존 MVC Controller view 기술을 사용 주로 view(화면)을 return 합니다. | Restful 웹 서비스 Controller 객체를 반환하기만 하면 객체 데이터는 JSON/XML 형식의 HTTP 응답을 직접 작성합니다. Data를 return하는 것이 주 용도입니다. 대표적인 Controller 입니다. import org.springframework.stereotype.C..
공부를 하면서 객체를 주입 받을때 주입 받는 방법은 총 3가지 방법이 존재한다. 나는 @Autowired 를 이용하여 필드에 붙이는 방식이 편하여 그동안 이렇게 주입했었는데 이 방법은 좋지 못한 방법이라는 글을 보았다. 그래서 정리하고자 한다. | 생성자 주입(Constructor Injection) 단일 생성자인 경우에는 @Autowired 어노테이션 조차 붙이지 않아도 되지만 생성자가 2개 이상인 경우에는 생성자에 어노테이션을 붙여주어야 한다. 예를들어 단일 생성자 같은 경우 @Component public class MadExample { // final로 선언할 수 있는 보너스 private final HelloService helloService; // 단일 생성자인 경우는 추가적인 어노테이션이..
| IntStream - Java8에서는 반복분 ex)while,do-while,for 등을 간결하게 처리할 수 있는 방법을 제공합니다. - 무조건 IntStream이 좋은 것이 아니고, 그때그때 상황에 따라 적절한 반복문을 쓰는 것이 필요합니다. - 하지만 IntStream을 잘 쓰면 코드가 깔끔해져서 좋습니다. - Stream은 당연히 IntStream 말고도 여러 종류의 Stream이 있습니다. 먼저 간단한 예시를 보여드리겠습니다. for문 public void _loop() { for (int i = 1 ; i { //수정 if (i >= 5) { return; } System.out.println(i); }); } //결과 1 2 3 4 수정된 코드는 결과 값은 5입니다. 하지만 위 코드는 fo..
| UriComponentsBuilder 웹페이지에서 매번 파라미터를 유지하는 일이 번거롭고 힘들다면 한 번쯤 " UriCompoentsBuilder "라는 클래스를 이용하여 작성해보자 ! org.spring.framework.web.util.UriComponentsBuilder는 여러 개의 파라미터들을 연결하여 URL 형태로 만들어 주는 기능을 가지고 있습니다. 즉 Controller단에서 addAttribute로 하나 하나 속성을 지정해주지 않아도 이 class를 이용하면 손쉽고 간단하게 파라미터들을 전달할 수 있습니다. (컨트롤러에서 리다이렉트 시 여러 파라미터들을 일일이 다 addAttribute를 하기엔 버거웠습니다.) (이방법은 한글 처리에 신경쓰지 않아도 된다는 점이 유용합니다.) 예를들어 ..
addAttribute와 addFlashAttribute의 차이점 addAttribute는 삭제를 했을 때 url 을 보자. redirect는 list까지다. 근데 page , perPageNum, searchType, keyword 가 뒤에 따라 붙었다. rttr.addAttribute 때문에 붙은 것이다. | rttr.addAttribute - 전달한 값은 url뒤에 붙으며, 리프레시해도 데이터가 유지된다. | rttr.addFlashAttribute -전달한 값은 url뒤에 붙지 않는다. 일회성이라 리프레시할 경우 데이터가 소멸한다. 또한 2개이상 쓸 경우, 데이터는 소멸한다. 따라서 맵을 이용하여 한번에 값전달해야한다.