BE/Spring in Action 5th

2장, 웹 어플리케이션 개발하기

잠수함 2021. 10. 29. 11:54
728x90

2-1. 정보보여주기

- 웹 어플리케이션의 데이터는 수시로 변경되어야 하기에 HTML로 하드코딩하지 않고, 데이터베이스로부터 데이터를 가져와서 변경해야한다.

 

- 스프링 웹 어플리케이션에서는 데이터를 가져오고 처리하는 것이 컨트롤러의 역할이다. 그리고 브라우저에 보여주는 데이터를 HTML로 나타내는 것이 의 역할이다.

 

- Lombok 사용: 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이다. Lombok을 이용하면 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 시킬 수 있다.

- 컨트롤러: HTTP요청을 처리하고 브라우저에 보여줄 HTML을 뷰에 요청하거나, REST 형태의 응답 body에 직접 데이터를 추가한다. 

 

- @Slf4j: Lombok에서 제공, 이 클래스에 자동으로 SLF4J Logger를 생성.

 

- @Controller: 해당 클래스를 찾은 후 스프링 어플리케이션 컨텍스트의 빈으로 글래스의 인스턴스를 자동 생성.

 

- @RequestMapping("/design"):  해당클래스가 처리하는 요청의 종류를 나타냄.

 

어노테이션 설명
@RequestMapping 다목적 요청을 처리
@GetMapping HTTP GET 요청을 처리
@PostMapping HTTP POST 요청을 처리
@PutMapping HTTP PUT 요청을 처리
@DeleteMapping HTTP DELETE 요청을 처리
@PatchMapping HTTP PATCH 요청을 처리

 

- Model: 컨트롤러와 데이터를 보여주는 뷰 사이에서 데이터를 운반하는 객체. 궁극적으로 Model 객체의 속성에 있는 데이터는 뷰가 알 수 있는 서블릿 요청 속성들로 복사된다.

 

- redirect: 해당 메소드의 실행이 끝난 후 사용자의 브라우저가 "/주소" 해당 주소의 상대 경로로 재접속되어야 한다는 것을 나타냄.

 

- @Valid: 제출된 객체의 유효성 검사를 수행하라고 스프링 MVC에 알려주는 역할을 수행한다.