개발 환경 설정
1. JDK 설치
Spring 5.0 (스프링부트 2.0)을 위해서는 jdk8 이상 필요합니다.
jdk 1.8에셔는 함수형 프로그램을 지원해줍니다.
2. 스프링 개발 툴 설치
스프링 개발툴은 현재 2가지 정도가 실무에서 많이 쓰입니다.
이클립스 계열인 스프링에서 공식 지원하는 STS와 JetBrains에서 만든 Intellij IDEA 입니다.
STS는 무료이며 간편하게 사용가능하며, IntelliJ IDEA는 상용이지만 기능이 좀 더 강력합니다.
Spri
3. IntelliJ IDEA 설치
IntelliJ IDEA설치도 필요합니다.
상용버전을 설치하는 것이 좋지만, 저는 communiry버전을 이용해 학습하겠습니다.
https://www.jetbrains.com/idea/
IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more...
www.jetbrains.com
사이트에 들어가 다운로드까지 완료하시면 설치를 진행하시면 됩니다.
설치시, 별다른 설정은 건들이지 않겠습니다.
Spring boot 소개
- Spring framework을 쉽게 사용하게 해주는 래퍼입니다.
- Covention over configuration을 따릅니다. 즉, 설정보다는 전통을 따른다는 의미입니다. 사용하고 좋다고 평가받는 setting을 가져오겠다는 의미입니다.
- 스프링기반 production-ready 어플리케이션 개발
- 톰캣이 내장되어 단독 실행이 가능합니다.
- 설정을 최대한 줄이고 xml 설정 파일이 필요 없습니다.
프로젝트 생성
- Project는 maven 혹은 gradle로 설정 가능합니다.
maven으로 설정하면 group에 조직의 그룹 역순으로 작성하고 artifact에는 project이름을 작성합니다.
- 언어도 Java 가 아닌 Kotlin을 선택 가능합니다.
- Spring boot의 버전은 2 이상으로 설정해주시면, spring 5 이상을 지원가능합니다.
- 하단의 generate project 버튼을 클릭하여 프로젝트를 생성하면 zip파일로 생성되어 다운로드 됩니다.
스프링 프로젝트 기본 구조
- pom.xml : 메이븐 빌드 명세
- mvnx: maven wrapper
- application.properties : 필요한 구성을 추가하는 프로퍼티. 선택적인 파일로 사용하지 않아도 됩니다. spring boot가 로드되면 자동으로 이 파일을 로드합니다.
- Hello.java: main class
- HelloApplicationTest.java: Junit Test class
project 최상단 위치에 pom.xml이 있다는 의미는 maven으로 빌드된다는 의미입니다.
만약 gradle이라면 setting.gradle이라고 파일이 표시되어 있습니다.
스프링부트 개발자툴
- 스프링 부트 개발모드 지원
- thymeleaf 등 템플릿에 대한 개발 캐싱을 비활성화 처리
- 소스의 변경이 일어나면 ㅅ프링 부트 서버가 새로 시작되어 바로 반영
- html, css 부분을 변경하면 바로 브라우저에서 감지해서 반영됨
설정 방법: 디펜던시 추가 (spring-boot-devtools)
위 그림과 같이 pom.xml파일에 dependency를 추가해줍니다.
테스트 의존성은 스프링 부트 프로젝트 생성 시 자동 추가됩니다.
프로젝트 생성
개발 툴 설치가 모두 끝났다면, 이제 본격적으로 프로젝트를 생성해보겠습니다.
먼저, spring 프로젝트 생성을 위해 하단의 사이트에 접속합니다.
project metadata 설정은 아래 그림과 같이 진행하시면 됩니다.
추가로 설명드리면, pakaging 을 jar로 하시면 톰캣이 내장되어 있어 따로 어플리케이션을 설치할 필요가 없습니다.
그리고 Spring Web을 dependency로 추가해준 뒤 생성합니다.
이렇게 프로젝트를 생성해준 뒤, zip 파일로 다운로드된 폴더의 압축을 풀어줍니다.
그리고 IntelliJ에서 해당 프로젝트를 import하여 프로젝트를 수행합니다.
'Java > Spring Framework' 카테고리의 다른 글
REST에서 CRUD 구현 (0) | 2020.03.06 |
---|---|
Spring MVC로 RESTful API 서비스 구현 (0) | 2020.03.04 |
Framework란 2 -Spring boot 기초 (0) | 2020.03.03 |
Framework란 (0) | 2020.01.06 |
Spring Project _ Day2(github에 코드 올리기) (0) | 2019.12.25 |