일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- 김영한
- Four Squares
- 이펙티브코틀린
- Operating System.
- Window-Via-c/c++
- TCP/IP
- 2475번
- 운영체제
- redis
- 에러핸들링
- 열혈 TCP/IP 소켓 프로그래밍
- HTTP
- 우아한레디스
- Spring
- n타일링2
- 스프링 핵심 원리
- Operating System
- 윤성우 저자
- BOJ
- 스프링 입문
- FIFO paging
- 제프리리처
- 토마토
- 열혈 tcp/ip 프로그래밍
- C#
- C++
- 우아한 테크 세미나
- inflearn
- 10026번
- Today
- Total
나의 브을로오그으
#1-1. [스프링 입문] - 프로젝트 설정 본문
해당 사이트에 들어가서 Spring 프로젝트를 쉽게 만들 수 있다.
강의에서는
Project : Gradle Project
Language : Java
Spring Boot : 2.7.1(Release 버전은 계속 바뀜)
Dependencies : Thymleaf(Template Engines), Spring Web(Web)
설정 후 Generate 하면 끝!
이후 IntelliJ로 해당 프로젝트를 open 하면
이렇게 나온다.
주로 보아야 할 디렉터리는 src이다.
하위 디렉터리로 크게 main과 test로 나뉘는데
현재 개발 트렌드에서는 test코드를 작성하는 것이 굉장히 중요하기에 거의 대부분
웹 애플리케이션 프로젝트를 생성하게 되면 이렇게 main과 test디렉터리 형태로 생성된다.
[build.gradle]
프로젝트 관련 여러 설정을 하거나 외부 라이브러리(패키지) 등을 추가 할 수 있는 파일이다.
과거에는 전부 개발자가 타이핑을 해야 했지만,
현재에는 Spring Boot가 나오면서 개발자 친화적인 방식으로 변경되었다.
dependencies를 보면 spring intializer에서 추가했던 라이브러리들을 implementation(추가)했다고 나오는데
이 라이브러리를 다운받는 곳이 repositories에 있는 mavenCentral()이라는 공개된 사이트가 있고, 이곳에서 해당 라이브러리를 다운받으라는 설정이다. 원한다면 다른 경로를 추가해도 된다.
[.gitignore]
git에 프로젝트를 올릴 때 무시하는 파일을 설정하는 설정파일.
실행을 해보자!
1번째는 IntelliJ에서 Run을 했을 때의 모습이고
2번째는 웹 브라우저에서 주소창에 lcoalhost:8080을 입력해서 나온 결과이다.
이렇게 나오면 성공!
[Libraries]
build.gradle을 보면 의존성으로 추가한 것이 3개뿐인데
엄청나게 많은 라이브러리들을 의존하고있다. gradle과 같은 build tool들은
의존 관계를 관리해준다. 예를 들어
우리가 추가한 spring-boot-starter-web 프로젝트를 쓰려면 이 프로젝트가 굉장히 많은 의존관계를 갖고 있다. spring-boot-start가 spring-boot를 의존하고, 이것이 또 spring-boot-start-json 의존하고, 이러한 관계를 관리하고 알아서 포함시켜주기에 많은 라이브러리 들이 추가되게 된다. 이러한 역할을 gradle tool이 해준다.
[Dependencies]
Intellij 우측 상단에 보면 gradle버튼이 있는데 이를 클릭하여 Dependencies를 보면 주요 라이브러리 별 의존관계를 확인 할 수 있다.
과거에는 tomkat과 같은 웹 서버를 설치 한 후에 여러가지 라이브러리들을 설치해야 했다. 그러나 현재는 이렇게 따로 설정 필요 없이 임베디드(내장)되어 쉽게 app을 실행 할 수 있다.
[핵심 라이브러리]
스프링부트 라이브러리
Spring-Boot Lib
-> spring-boot-starter-tomcat: 톰켓(웹서버)
-> spring-webmvc: 스프링 웹 MVC
-> spring-boot-starter-thumeleaf: 타임리프 템플릿 엔진(View)
-> spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
-> spring-boot
-> spring-core
-> spring-boot-starter-logging
-> logback, slf4j
테스트 라이브러리
- spring-boot-starter-test
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
'Spring' 카테고리의 다른 글
#4. [스프링 입문] - 스프링 빈과 의존관계 (0) | 2022.07.10 |
---|---|
#3. [스프링 입문] - 간단한 앱 개발 (0) | 2022.07.10 |
#2. [스프링 입문] - 스프링 웹 개발 기초 (0) | 2022.07.09 |
#1-2. [스프링 입문] - 프로젝트 설정 (0) | 2022.07.09 |
#0. [스프링 입문] - 강의 소개 (0) | 2022.07.01 |