일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch7
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- 스프링 고급 - 스프링 aop
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch3
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch5
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch4
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch9
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch8
- 게시글 목록 api
- 스프링 db1 - 스프링과 문제 해결
- @Aspect
- 스프링 입문(무료)
- 자바의 정석 기초편 ch12
- jpa - 객체지향 쿼리 언어
- 스프링 mvc2 - 검증
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch6
- Today
- Total
목록인프런 - 스프링 완전정복 코스 로드맵/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (13)
나구리의 개발공부기록
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 상품 상세1) 상품 상세 구현(1) BasicItemController - 상품 상세 추가PathVariable로 넘어온 상품 ID로 상품을 조회 하고 모델에 담아둔 뒤 뷰 템플릿을 호출@GetMapping("/{itemId}")public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "bas..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 프로젝트 생성 및 요구사항 분석1) 프로젝트 생성(1) ProjectGradle, Java, 최신 스프링 부트(2) Project MetadataGroup : helloArtifact, Name : item-servicePackaging Name : hello.itemservice(패키지 네임에는 특수기호 없이 설정)Packaging: JarJava : 17(3) DependenciesSpring WebThymeleafLombok(4) Welcome 페이지 추가2) 요구사항 분석(1) 상품 도메인 모델상품 ID..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. HTTP응답 - 정적리소스, 뷰 템플릿1) HTTP 응답(1) 스프링(서버)에서 응답 데이터를 만드는 3가지 방법정적 리소스 : 예) 웹 브라우저에 정적인 HTML, css, js를 제공할 때뷰 템플릿 사용 : 예) 웹 브라우저에 동적인 HTML을 제공할 때HTTP 메시지 사용 : HTTP API를 제공하는 경우 데이터를 전달해야 하므로 HTTP 메시지 바디에 JSON과 같은 형식으로 데이터를 전송2) 정적 리소스(1) 정적 리소스스프링 부트는 클래스패스의 다음디렉토리에 있는 정적 리소스를 제공함/static,..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. HTTP 요청 - 기본, 헤더 조회1) HTTP 헤더 정보 조회(1) RequestHeaderControllerbasic하위에 request패키지를 만들어서 작성HttpMethod: HTTP 메서드를 조회Locale: Locale 정보를 조회@RequestHeader MultiValueMap headerMap: 모든 HTTP헤더를 MultiValueMap형식으로 조회@RequestHeader("host") String host: 특정 HTTP 헤더를 조회@CookieValue(value = "myCookie",..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 프로젝트 생성1) 프로젝트 생성(1) 프로젝트GradleJavaSNAPSHOT, M1 등이 달려있지 않은 버전 중 가장 최신 버전의 스프링 부트(2) Project MetadataGroup : helloArtifact, Name : springmvcPackaging: JarJava : 설치된 버전(3) DependenciesSpring WebThymeleafLombok** 주의 - Packaging: Jar스프링 부트를 사용하면 주로 이방식을 사용하게 되는데 Jar는 내장서버를 사용(톰캣 등)하고 webapp ..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 스프링 MVC - 시작하기1) 스프링이 제공하는 컨트롤러스프링이 제공하는 컨트롤러는 애노테이션 기반으로 동작하여 매우 유연하고 실용적임과거에는 자바 언어에 애노테이션이 없었고 스프링도 처음부터 이런 유연한 컨트롤러를 제공하지 않았음(1) @RequestMapping스프링이 제공하는 매우 유연하고 실용적인 애노테이션 기반의 컨트롤러과거에는 스프링 프레임워크가 MVC 부분이 약해서 스프링을 사용하여도 MVC웹기술은 다른 프레임워크를 사용했지만 @RequestMapping기반의 애노테이션 컨트롤러가 등장하면서 대부분..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 스프링 MVC 전체 구조1) 스프링 MVC(1) 직접 작성한 MVC 프레임워크 구조와 스프링 MVC 구조구조 둘의 구조가 동일함 (2) 직접만든 MVC 프레임워크 -> 스프링 MVC 1:1 비교FrontController -> DispatcherServlethandlerMappingMap -> HandlerMapping(인터페이스): 핸들러 매핑MyHandlerAdapter -> HandlerAdapter(인터페이스): 핸들러 어댑터ModelView -> ModelAndViewviewResolver -> Vie..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 단순하고 실용적인 컨트롤러 - v41) V4(1) 실용성 추가v3는 서블릿 종속성을 제거하고 뷰 경로의 중복을 제거하면서 설계가 잘된 컨트롤러가 되었음그러나 개발자 입장에서는 컨트롤러 인터페이스를 구현할 때 항상 ModelView객체를 생성하고 반환해야하는 번거로운 부분이 아직 존재함좋은 프레임워크는 아키텍처도 중요하지만 개발자가 단순하고 편리하게 사용할 수 있어야(실용성이 있어야)함(2) v4의 구조v3 컨트롤러를 개발자가 편리하게 개발할 수 있도록 구조를 조금 변경기본적인 구조는 동일하지만 Controlle..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 프론트 컨트롤러 패턴 소개(1) 프론트 컨트롤러 도입 전/후 관계도 (2) FrontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음, 프론트 컨트롤러도 서블릿임프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출하여 입구를 하나로 통합, 공통 로직을 처리함프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨(@Webservlet, extends HttpServlet)(3) 스프링 웹 MVC와 프론트 컨트롤러스프링 웹 MVC의 핵심도 FrontControlle..
출처 : 인프런 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. MVC 패턴1) 개요(1) 너무 많은 역할하나의 서블릿이나 JSP만으로 비즈니스로직과 뷰 렌더링을 모두 처리하면 너무 많은 역할을 하게되고 결과적으로 유지보수가 어려워짐비즈니스 로직, UI둘중에 하나만 변경할 일이 발생해도 비즈니스로직과 뷰 렌더링을 하는 코드가 함께있는 파일을 수정해야함수백, 수천줄의 java코드와 html 코드가 섞여있는 파일을 유지보수 한다고 생각하면 수정할 부분이 있는 코드를 찾는 것 조차 매우 어려울것임(2) 변경의 라이프 사이클더 중요한 것은 두가지(비즈니스로직과 뷰)의 변경의 라이프..