인프런 Spring 강의 정리/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/buEV8h/btsDKJLZPMQ/aQ0163kYpY3YEaJRyO6b7k/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 비지니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않았다는 가상의 시나리오 1. 일반적인 웹 애플리케이션 계층 구조 🔷 컨트롤러 : 웹 MVC 컨트롤러 역할 🔷 서비스 : 핵심 비지니스 로직 구현, ex) 회원은 중복 가입이 안됨 🔷 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 🔷 도메인 : 비지니스 도메인 객체, ex) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨 2. 클래스 의존관계 🔷 회원 비지니스 로직 : MemberService 🔷 회원 리포지토리 : MebmerRepository (아직 저장소가 설계되지 않았기 때문에 interface로 설계) 🔷 구현체 : MemoryMemberReposit..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/dgnyMg/btsDJ0tH2E5/EBK8i0dvkbfkfl9zty0OH0/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 정적 컨텐츠 (static content) 파일을 그대로 web browser에 내려주는 방식 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공해준다 resources/static/** 아래의 파일과 매핑된다 🔶 resources/static/hello-static.html 정적 컨텐츠 입니다. ✔ 원리 웹 브라우저에서 localhost:8080/hello-static.html 검색하면 내장 톰캣 서버가 요청을 받고 스프링 컨테이너에 전달 스프링은 controller에 hello-static이 있는지 탐색 controller에 없는 경우, resources/static/hello-static.html 탐색 resources에 존재할 경우 client에 반환 📌 MVC와 템플릿 엔진 가장 많이 사용하는 ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Kvidg/btsDJiawSFU/PHyHx1iZLpwovh9T6tg571/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 프로젝트 생성 방법 ➡ 스프링 부트 스타터 사이트를 통해서 프로젝트 설정 Project : Gradle - Groovy Language : Java Spring Boot : 3.x.x ➡ 버전 옆에 SNAPSHOT OR M2 등이 써있는 것은 정식 버전이 아니다 ➡ 버전이 3 이상이면 Java 17 이상 사용 추천, ➡ javax 패키지 이름을 jakarta로 변경, ➡ H2 데이터베이스를 2.1.214 버전 이상 사용 group : 기업명 작성 (임시로 hello) artifact : 프로젝트명 (임시로 hello-spring) Name/Description/Package name : 유지 Dependencies : 사용할 라이브러리 ➡ Spring Web (웹프로젝트), Thymeleaf(HTML..