스프링 - 프로젝트 환경설정
참고 강의: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(김영한,인프런)
// 아직 인텔리제이 셋팅이 안되서 내일 라이센스 넣고 셋팅 후 사진 첨부 할 예정
사전 준비
java 11 버전 설치 : JDK 11.0.17(설치완료)
IDE : IntelliJ or Eclipse (IntelliJ 설치완료)
스프링 부트 스타터 사이트 : http://start.spring.io
// 예전에는 직접 코딩을 했지만 요즘은 해당 사이트를 통해서 기본적인 시작 코드를 제공해 줌
프로젝트 선택
- project : gradle project
- spring boot : 2.3.x
- language : java
- packaging : jar
- java : 11
Project metadata
- groupId : hello(임의)
- artifacyId : hello-spring(임의)
Dependencies : Spring Web, Thymeleaf
// 처음에는 시간 소요 많음 -> 툴 다운이 있기 때문
[기타 구성 설명]
- src/main/resources : 설정파일, html 등 java제외 파일 전부
- src/main/java : 실행파일
- src/test : 테스트코드
// 요즘은 분리가 표준화 되어있음
- plugins : 자바 버전, 스프링 버전 명시
- sourceCompatitbility = '11' : 자바 11버전이라는 뜻
- gitignore : 깃허브에 올릴 때 필요없는 파일, start.io가 자동으로 추가해줌!(간편)
// 실행완료
* preforence -> 검색 gradle -> build and run using : IntelliJ IDEA로 변환
빌드와 실행의 시간이 빨라짐
라이브러리 살펴보기
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 함
[스프링 부트 라이브러리]
* intellj 왼쪽 아래 클릭(command 2번) -> 오른쪽 위에 gradle 뜸 -> dependencies : 의존관계 라이브러리 목록 보여줌
- spring-boot-starter-web
- spring-boot-starter-tomcat : 톰캣(웹서버) - 자동으로 실행시 8080포트 제공
- spring-webmvc : 스프링 웹 MVC
- spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View) / html 템플릿 엔진
- spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-core
- spring-boot-starter-logging (아래의 두가지 조합을 많이 씀 - 성능이 빠름)
- logback : 실제 로그를 어떤 구현체로 출력 할 것인가?
- slf4j : 인터페이스
- spring-boot
[테스트 라이브러리]
- spring-boot-starter-test
- junit : 테스트 프레임워크 (요즘 5버전 사용)
- mockito : 목 라이브러리
- assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test : 스프링 통합 테스트 지원
View 환경설정
스프링 부트가 제공하는 Welcome Page 기능
- static/index.html을 올려두면 Welcome page 기능을 제공
- http://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page
thymeleaf 템플릿 엔진
- thymeleaf 공식 사이트 : http://www.thymeleaf.org
- 스프링 공식 튜토리얼 : http://spring.io/guides/gs/serving-web-content
- 스프링부트 메뉴얼 : http://docs.spring.io/spring-boot/docs/2.3.1.RELEASE?reference/html/spring-boot-features.html#boot-features-spring-mvc-template-engines
* thymeleaf 템플릿엔진 동작 확인 : (실행) http://localhost:8080/hello
컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리함
- 스프링 부트 템플릿엔진 기본 viewName 매핑
- resources:templates/ + (ViewName) + '.html'
빌드하고 생성하기
- 콘솔로 이동
- ./gradlew build
- cd build/libs
- java -jar hello-spring-0.0.1-SNAPSHOT.jar
- 실행확인
* 'Snapshot'을 뜨다의 의미
- 특정 시점에 스토리지에 저장된 파일의 상태(현재 파일 시스템의 상태)를 저장한다는 의미
- Spring Boot에서 애플리케이션 생성 시, 개발이 완료된 최종 버전이 아니라, 각 진행 단계별로 개발을 하고 빌드를 할 때, 해당 애플리케이션의 현재 상태가 완료 버전이 아닌, 중간 단계의 버전이라는 의미
'Web > Spring' 카테고리의 다른 글
[Spring] 회원 관리 예제 - 웹 MVC 개발 (0) | 2022.11.03 |
---|---|
[Spring] 스프링 빈과 의존관계 (0) | 2022.11.02 |
[Spring] 회원 관리 예제 - 백엔드 개발 (0) | 2022.10.31 |
[맥os] 단축키 (0) | 2022.10.26 |
[Spring] 웹 개발 기초 (0) | 2022.10.24 |
댓글