목록[백엔드]/[spring | 학습기록] (63)
개발자로 후회없는 삶 살기

서론※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다.https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요.www.inflearn.com 본론- 로그인 요구사항상품관리 시스템에 로그인과 관련된 요구사항이 나타났습니다. 홈 화면을 만들고 로그인 전 화면에서는 회원가입하는 페이지로 이동할 수 있고 로그인 화면으로 이동할 수 있습니다. 로그인 후 화면에서는 회원 이름이 나타나고, 상품관리와 로그아웃 버튼이 나오게 할 것입니다. + 보안 요구사항이제는 로그인한 회원만 상품관리를 할 수 있고 로그인을 하지 않은 사용자가 상품관리..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 빈 검증 소개 검증 코드 if문을 직접 지저분하게 짰는데 매우 번거롭습니다. 근데 잘 생각해보면 특정 필드에 대한 검증 로직은 대부분 그 특정 필드가 비었는지 아닌지, 범위를 넘는지 아닌지와 같이 매우 일반적인 로직입니다. 그래서 편리하게 해보자는 것에서 빈 검증이 나왔습니다. @Data public class Item { private Long id; @NotBlan..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 검증 요구사항 기존 프로젝트에 검증 로직을 추가해달라는 요구사항이 추가되었습니다. 타입 검증은 가격, 수량 같은 경우 숫자만 와야하는데 문자가 오는 지 검증하는 것이고, 필드 검증에서는 필드가 null이 안 들어오게 하고 가격의 범위, 수량의 범위 등 각 필드 당 검증 요구사항이 있습니다. > 지금까지 만든 프로그램은 상품명을 입력 안해도 되고 가격, 수량에 문자를 적..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 메시지 화면의 상품명을 모두 상품이름으로 바꾸고 싶습니다. 이 프로젝트는 5군데가 하드코딩 되어있는데 실무에서는 수 백개를 고쳐야 할 수도 있습니다. 이때 여러 화면을 다 찾아가면서 고치는게 불편합니다. 이런 다양한 메시지를 한 곳에 관리하도록 하는 기능을 메시지 기능이라고 합니다. messages.properties라는 메시지 관리용 파일을 만들고 위 사진처럼 키, ..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 텍스트 text, utext th:text해서 넣어주면 태그 사이에 content에 값이 들어갑니다. @GetMapping("/text-basic") public String textBasic(Model model) { model.addAttribute("data", " Hello Spring!"); return "basic/text-unescaped"; } 모델에 d..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - Model Attribute 실제 개발을 하면 요청을 받아서 객체를 만들고 그 객체에 값을 넣어주고 보통 위 코드처럼 예전에 코드를 작성했습니다. 지금 요청 파라미터를 배우는 과정이니 객체를 담아서 return하는 게 아니라 그냥 객체에 담아서 get으로 사용하는 과정입니다. 스프링은 이 과정을 완전히 자동화해주는 @Modelattribute를 제공합니다. @Data ..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 로깅 앞으로 sout는 안쓸 것입니다. 실무에서는 안 씁니다. 로그를 통해서 콘솔이든 어디든 보고 싶은 결과를 출력해야합니다. 별도의 로깅 라이브러리를 사용해서 로그를 출력합니다. - 로깅 라이브러리 스프링 부트로 프로젝트를 만들면 기본적으로 starter가 들어가는데 logging이라는 라이브러리가 들어갑니다. logback, slif4j가 들어갑니다. 1) slf4..

서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 Spring, MVC 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 스프링 MVC 전체 구조 우리가 만든 MVC와 실제 스프링 MVC와 비교하면서 알아보겠습니다. 그림을 보면 스프링 MVC와 똑같은 구조입니다. 이름에 좀 차이가 있는데 구조는 완전 똑같고 완전 똑같이 동작합니다. 1) 프론트가 디스패쳐 서블렛이고 스프링에서 제일 중요한 프론트 컨트롤러입니다. 2) 프론트에 구현한 핸들러를 찾기 위한 핸들러 맵핑 맵이 핸들러 맵핑입니다...