1. @GetMapping() (이)란?
- url에 데이터를 요청하기 위한 키워드
- 조회를 위함
- 보안에 취약
2. @ResponseBody (이)란?
- @ResponseBody를 사용하여 HTTP 요청 본문에 담긴 값들을 자바객체로 변환시켜, 객체에 저장해주는 어노테이션
3. JPA 란? 무엇이고 왜 쓰는가?
- 자바 기술을 쉽게 사용하기 위한 기술 모음집
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
4. JPA 에서 엔티티 란?
5. JPA 에서 레포지토리에 아무런 코드가 없어도 save 같은 메서드를 쓸 수 있는 이유?
- jpa에서 save는 저장하기 위한 메서드가 아니라 업데이트를 위한 메서드이기에 값이 없더라도 사용할 수 있다.
6. Optional 객체란 ?
7. 타임리프 설치 후 어떤 경로 폴더 안의 파일의 이름과 매칭이 되는지? (폴더이름)
8. Model 객체란 무엇이고 왜 쓰는지
- model 객체는 hashmap과 같은 형태인데, 모델에 원하는 값과 키워드를 주어 데이터에 전달하기 위해 사용
9. 의존성 주입 방법 3가지와 권장하는 방법 1가지를 서술하세요.
- 생성자, 수정자, 필드 의존성이 존재하며 생성자 의존성 주입을 주로 권장한다.
생성자는 불변하지 않는 특성, 테스트하기 원활한 특징, lombok과 결합하기 원할하며, 에러방지하기 편하다.
10. @RequiredArgsConstructor 란 무엇인지?
- 생성자 DI이며, 임의의 코드 없이 자동으로 생성자를 생성해주는 어노테이션이다.
11. 타임리프에서 반복문은 어떤 키워드로 쓰는지 예제 코드를 작성하세요
- th:each="question : ${questionList}"
12. 서비스 레이어를 만드는 이유 ?
- 외부에서 받아오는 값 및 repository에서 가져온 값을 전달하는 용도이다
13. @RequestMapping() 을 쓰는 이유
- @GetMapping에서 반복되는 파라미터값을 축약 및 요청하기 위한 용도이다.
14. HTTP 에서 GET VS POST 요청의 차이
- get - url을 기준으로 입력된 파라미터값을 전달하기 위함
- post - header의 body에 값을 담아서 전달 서버쪽에 작업을 명령할때 사용 및 보여주면 위험한 값을 전달함.
16. @PathVariable() 이란?
- url을 통해서 변동되는 변수를 파라미터에 전달하기 위해 사용
17. @RequestParam 이란?
- 요청한 파라미터를 연결할 매개변수에 붙이는 어노테이션이다.
디폴트 값을 설정할 수 있으며, 요청을 거절할 수도 있다.
- url에 값을 전달하기 위해 사용하는데, 방법을 get형식 또는 post 형식으로 전달할 수 있다.