@RequiredArgsConstrictor final이 붙은 멤버변수만 사용해서 생성자를 생성해주는 애노테이션.@NoArgsConstructor파라미터가 없는 기본 생성자를 생성해주는 애노테이션@AllArgsConstructor모든 필드값을 파라미터로 받는 생성자를
사이드 프로젝트를 하다가 궁금한게 생겨 정리를 해보겠다.그전에 먼저 알아야 할 사전지식들에 정리를 한 후 알아보자.먼저 IoC, DI, 스프링 컨테이너에 대해 알아보자.말 그대로 제어의 역전, 제어가 역전된다는 뜻이다.뭔가 와닿지 않는다. 예를 들어 개발을 할 때 re
말 그대로 생성자에 @Autowired를 붙여줌으로써 의존관계를 주입 받는 방법이다.불변하거나 필수인 의존관계에 사용한다.다른 방법도 있지만 생성자 주입을 통해서 DI를 하는 것을 추천한다.setXXX()에 @Autowired를 붙여줌으로써 의존관계를 주입 받는 방법
Controller의 주요 역할은 HTTP 요청이 정상적인 요청인지 "검증"하는 것이다.예를 들어 도서 입력 폼이 있는데 Page수에 문자를 작성하거나 정보를 입력하지 않는 경우 다시 입력 폼을 서비스 사용자에게 보여줘야한다. 근데 그냥 보여주면 안되고 어떤 값을 잘못
BindingResult의 rejectValue(), reject()를 사용하면서 오류 코드를 사용해봤는데 오류 코드를 어떻게 설계해야할까? 라는 의문이 생길 수 있다.오류 코드를 너무 자세하게 만들면 여러 곳에서 사용하기 어렵고,, 너무 두루뭉실하게 만들면 너무 두루
Spring MVC에 대해 이해하기 쉽게 정리해보겠다.그 전에 서블릿에 대한 개념만 잡고 들어가자.HTTP 요청 메시지를 파싱하고,, URL 확인하고 HTTP Method가 Get인지 Post인지 등을 확인하고 HTTP 응답 메시지 생성 등 되게 많은 작업들을 서블릿이
@ModelAttribute에 대해 개념을 확실히 잡고싶어서 따로 정리하고자 한다. @ModelAttribute @ModelAttribute를 사용하지 않으면 @RequestParam을 통해 요청 파라미터를 받고 객체 생성 후 setXxx()를 통해 직접 값을 세팅해
스프링의 대표적인 컨트롤러는 @RequestMapping 컨트롤러이다.앞서 Spring MVC 구조에서 살펴본 핸들러 매핑과 핸들러 어댑터에서 우선순위가 제일 높았던 것도 @RequestMapping과 관련된 것이었다.그리고 @Controller도 @RequestMap
타임리프는 백엔드에서 HTML을 동적으로 렌더링하는 용도로 사용된다. 서버사이드렌더링(SSR)할 때 사용된다. 타임리프의 가장 큰 특징은 내츄럴 템플릿이라는 것이다. 내츄럴 템플릿이란 HTML을 유지한다는 것인데 유지하기때문에 웹 브라우저에서 타임리프로 작성한 파일을
이어서 타임리프 문법에 대해서 알아보겠다.리터럴은 많이 접한 단어일 것이다.리터럴은 고정된 값을 말한다.int a = 10이라하면 10은 숫자 리터럴이다.타임리프는 문자, 숫자, 불린, null 리터럴이 있다.타임리프에서는 문자 리터럴은 ' ' 작은 따옴표로 감싸야하지
역시나 이어서 타임리프에 대해 정리하겠다.타임리프에서 자바스크립트를 사용할려면 다음과 같이 사용하면된다.인라인 기능을 사용하지 않고 자바스크립트를 사용할 수 있기는 하지만 생각보다 신경써야하는 부분이 있다. 실행해보자. 다음과 같이 결과가 나오면서 자바스크립트 에러가
Spring Data Jpa에서 페이징과 정렬기능을 스프링 MVC에서 편하게 사용할 수 있다.바로 코드를 봐보자.memberList 메서드의 파리미터로 Pageable이 날라온다.pageable은 인터페이스여서 구현체로 PageRequest를 사용한다.PageReque