728x90
반응형
섹션0 강의 소개
강의 소개
- ❗️순서❗️
- 스프링 프로젝트 생성
- 스프링 부트로 웹 서버 실행
- 회원 도메인 개발
- 웹 MVC개발
- DB연동 - JDBC, JPA, 스프링 데이터 JPA
- 테스트 케이스 작성
- ⭐️ 학습 방법 ⭐️: 처음부터 끝까지 직접 코딩
섹션1 프로젝트 환경설정
프로젝트 생성
- 스프링 프로젝트를 만들 때 start.spring.io에서 만드는 것을 권장함
- start.spring.io 설명
- Project → Gradle-Groovy
- Language → Java
- Spring Boot → 괄호 없는 버전 중 택1
- Project Metadata
- Group → 기업명 등 작성
- Artifact → 빌드 후 결과물
- Name → 프로젝트명
- Description → 필요 x
- Dependencies
- Spring Web
- Thymeleaf: HTML을 만들어주는 템플릿 엔진. 종류 다양함
- 인텔리제이에서 open 클릭 후 해당 프로젝트의 build.gradle 선택하면 프로젝트 세팅됨(ㄷㄷ)
- @SpringBootApplication: 톰캣 웹서버를 내장하고 있어 자체적으로 서버를 띄우면서 SpringApplication.run()메서드에 정의된 클래스가 실행됨
라이브러리 살펴보기
- 스프링 부트 라이브러리
- spring-boot-starter-web(서버)
- spring-boot-starter-tomcat: 톰캣(웹서버)
- spring-webmvc: 스프링 웹 MVC
- spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
- spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-core
- spring-boot-starter-logging
- slf4j: 인터페이스
- logback: 실제 로그를 어떻게 출력할건지
- spring-boot
- spring-boot-starter-web(서버)
- 테스트 라이브러리
- junit: 테스트 프레임워크
- mockito
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
View 환경설정
- 스프링 부트가 제공하는 Welcome Page기능
- 'static/index.html'을 만들어두면 웰컴페이지 기능을 한다
- thymeleaf 템플릿 엔진: html의 모양을 바꿔줌
- 웹 어플리케이션에서 첫번째 진입점이 Controller다. 클래스를 컨트롤러로 정의하려면 @Controller를 사용한다
@Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } }
- @GetMapping("경로"): uri에 해당 경로를 입력하면 자동으로 templates 폴더의 해당 페이지가 GET방식으로 매핑된다
- return에 지정한 문자열과 같은 이름의 html 파일을 viewResolver가 templates 폴더에서 찾는다 그럼 model에서 addAttribute한 data를 해당 html파일로 보낸다 이때 data가 키, hello!!가 밸류값이 된다.
- html 파일에서 ${data}을 입력하면 hello!!가 할당됨을 확인할 수 있다.
- 웹 어플리케이션에서 첫번째 진입점이 Controller다. 클래스를 컨트롤러로 정의하려면 @Controller를 사용한다
- thymeleaf의 동작 환경
728x90
반응형