일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 핵심 원리
- JPQL
- 인프런
- Exception
- 그리디
- kotlin
- Greedy
- spring
- Spring Boot
- Proxy
- java
- AOP
- 스프링 핵심 기능
- Android
- 자바
- transaction
- QueryDSL
- http
- db
- 김영한
- Servlet
- jpa
- JDBC
- SpringBoot
- 백준
- pointcut
- 알고리즘
- Thymeleaf
- springdatajpa
- 스프링
- Today
- Total
목록인프런/[인프런] 스프링 MVC 1 (59)
개발자되기 프로젝트
요청 파라미터를 받아서 객체를 만들고 그 객체에 값을 하나하나 넣어줘야 한다. @ModelAttribute를 사용하면 바인딩을 편하게 할 수 있음. 1. Hello @Data public class HelloData { private String username; private int age; } 2. @ModelAttribute 적용 적용 전 @ResponseBody @RequestMapping("/model-attribute-v1") public String modelAttributeV1(@RequestParam String username, @RequestParam int age){ Hello helloData = new Hello(); helloData.setUsername(username); h..
1. @RequestParam @RequestParam을 사용하면 paramter를 쉽게 조회가 가능 @RequestParam("username") String memberName = request.getParameter("username") @ResponseBody @Controller의 경우 String을 반환하면 해당 String으로 View를 찾는다. 하지만 @ResponseBody를 적용하면 return 값을 메시지 바디에 넣는다. @Slf4j @Controller public class RequestParamController { @ResponseBody //얘를 넣으면 응답메시지에 값넣어서 return, @Controller여도 String으로 view찾지 않음. @RequestMapping..
1. Client에서 Server로 요청 데이터를 절달하는 세 가지 방법 GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 예) 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH 2. Q..
1. Header조회 @Slf4j @RestController public class RequestHeaderController { @RequestMapping("/headers") public String headers(HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod, Locale locale, @RequestHeader MultiValueMap headerMap, @RequestHeader("host") String host, @CookieValue(value = "myCookie", required = false) String cookie){ log.info("request={}", request); lo..
1. 회원 관리 API 회원 목록 조회: GET /users 회원 등록: POST /users 회원 조회: GET /users/{userId} 회원 수정: PATCH /users/{userId} 회원 삭제: DELETE /users/{userId} 2. Controller @RestController public class MappingClassController { @GetMapping("/mapping/users/") public String user(){ return "get users"; } @PostMapping("/mapping/users") public String addUser(){ return "post user"; } @GetMapping("/mapping/users/{userId}")..
1. Request Mapping? 요청이 왔을 때 어떤 Controller가 mapping되어야함??? 예시 @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(MappingController.class); /** * url Mapping */ @RequestMapping("/hello-basic") public String helloBasic(){ log.info("helloBasic"); return "ok"; } } 2. @RestController @RestController의 반환 값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력 @Controller의 반환 값이..
운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다 1. Logging라이브러리 스프링 부트 라이브러리를 사용하면 spring-boot-starter-logging가 포함 스프링 부트 로깅 라이브러리는 라이브러리를 사용 인터페이스 : SLF4J - http://www.slf4j.org 구현체 : Logback - http://logback.qos.ch 2. 사용 예시 @RestController의 반환 값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력 @Controller의 반환 값이 String 이면 뷰 이름으로 인식. --> String으로 뷰 찾고 랜더링 Logger는 s..
1. 프로젝트 생성 프로젝트 선택 Project: Gradle Project Language: Java Spring Boot: 2.4.x Project Metadata Group: hello Artifact: springmvc Name: springmvc Package name: hello.springmvc Packaging: Jar Java: 11 Dependencies: Spring Web, Thymeleaf, Lombok 주의 `Packaging는 War가 아니라 Jar를 선택 JSP를 사용하지 않기 때문에 Jar를 사용 스프링 부트를 사용하면 주로 Jar사용 Jar를 사용하면 항상 내장 서버(톰캣등)을 사용, webapp 경로 사용하지 않음 내장 서버 사용에 최적화 War는 주로 외부 서버에 배포..