티스토리 뷰
SPRING INITIALIZR 웹페이지에서 의존성(Dependencies)을 선택하면 어떤 일이 발생하는지 알아보고자 합니다.
1. Web 추가하기
먼저 SPRING INITIALIZR 사이트의 기본값을 그대로 유지한 채 프로젝트를 하나 생성한 뒤, Web(Full-stack web development with Tomcat and Spring MVC) 항목을 선택한 뒤 프로젝트를 생성해서 둘을 비교해보았습니다.
뭔가 좀 익숙한 모양일 겁니다. 바로 Project Metadata 변경에서 Packaging 을 War 로 선택했을 때와 거의 유사하다는 것을 알 수 있을 겁니다.
그런데 분명 설명에는 Tomcat 을 이용한다고 했는데 War 로 선택했을 때 존재하던 Tomcat 관련 내용은 추가되지 않았습니다. 이유는 추가된 spring-boot-starter-web 에 Tomcat 관련된 것이 이미 포함되어 있기 때문입니다. 이 부분에 대한 자세한 설명은 IDE 을 이용해서 좀 더 분석할 기회가 있을 때 설명하도록 하겠습니다.
2. Lombok 추가하기
Core 영역에 Lombok(Java annotation library which helps to reduce boilerplate code and code faster) 이라는 항목이 존재합니다. Lombok 을 모르시는 분이 계신다면 굳이 Spring Boot 가 아니라도 Java 로 개발할 때 매우 편리한 기능을 제공하기 때문에 IDE 을 이용해서 개발할 때에는 꼭 이용하시길 권합니다.
Lombok 을 추가로 선택한 뒤 다시 프로젝트를 생성해서 처음 demo 프로젝트와 비교해보았습니다.
뭔가 차이가 없어 보입니다. 딱 하나, pom.xml 파일의 변경점이 1 개에서 2 개로 늘어난 것 뿐입니다.
파일에서 변경된 것이 무엇인지 확인해보겠습니다.
기존의 spring-boot-starter-web 이 추가된 것 외에 Lombok 관련 의존성 내용이 추가되었습니다.
Web 와 Lombok 이 추가된 Maven 의 의존성 전체 내용은 아래와 같습니다.
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
즉, SPRING INITIALIZR 에서 선택한 의존성은 Spring Boot 에서 제공하는 라이브러리이건 외부에서 제공하는 것이건 Maven 저장소를 이용해서 내려받을 수 있도록 설정 정보를 추가됩니다. 그리고 Maven 혹은 Gradle 에서 필요한 라이브러리를 다운로드 받아서 프로젝트를 실행할 수 있도록 구성하게 되는 것입니다.
'Programming > Spring Boot 시작하기' 카테고리의 다른 글
IntelliJ IDEA 에서 프로젝트 개발 환경 구성 (0) | 2018.09.04 |
---|---|
IDE 프로젝트 파일 생성 (0) | 2018.09.04 |
Project Metadata 변경 (0) | 2018.09.04 |
생성된 프로젝트 분석 (2) | 2018.09.04 |
Spring Boot 프로젝트 생성 (0) | 2018.09.04 |
- Total
- Today
- Yesterday
- git
- 시니어 프로그래머
- SI
- Phabricator
- RestTemplate
- couchbase
- 엘지
- Redmine
- Spring MVC
- proxmox
- manjaro
- docker
- 프로젝트 규모
- NoSQL
- 클라우드플레어
- boot
- Spring Boot
- 도입기
- KDE
- paging
- Nas
- jooq
- 내장 WAS
- messages.properties
- 워드프레스
- OracleJDK
- java config
- Spring
- 외장 WAS
- 페이징
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |