티스토리 뷰
서론
이번글은 Spring Boot 처음에 어떻게 만드는 지를 설명 할것이다. 만드는 방법은 2가지 있는데 1가지 방법은 spring 사이트에 들어가서 만드는 방법이 있고 나머지는 툴을 사용해서 직접 생성하는 방법이 있다. 여기서 만드는 방법은 사이트에 들어가서 만드는 방법으로 할 것이다. 필요한 개념은 대충 설명하고 넘어갈것이니 모르는 부분은 찾아서 보기 바란다. 여기 글에서 spring이 무엇이고 spring boot가 무엇인지와 같은 설명은 안할것이다.
Spring boot 프로젝트 만들기
사이트 접속
여기 사이트에 접속하면 아래와 같은 그림이 나올것이다.
프로젝트 기본 세팅하기 - 1
그 다음에 아래 그림처럼 같이 세팅 해주면 된다.
- Projcet: Gradle 하고 Maven만 보면 된다. 뒤에 Kolin은 지금 무시하면된다. Gradle spcript/code 형태로 프로젝트 관리 한다고 보면되고 Maven은 XML형태로 프로젝트 관리한다고 보면된다.
- Language: 초보자는 Java를 선택해라 요즘 Kotlin이 대세라고 하지만 아직 인터넷에 많이 나오지 않을 뿐만 아니라 구글링 하기 편한 쪽은 Java이다. Spring 처음 하는 분도 Kotiln이 주력이라도 닥치고 Java를 해라. 괜히 Kotlin 선택해서 중간에 에러 나면 해결을 못해서 울수도 있다.
- Spring Boot Version: SNAPSHOT 표기 되어 있는것은 아직 미완성된것이라 생각하면된다. 결론은 SNAPSHOT 버전은 피하고 아무것도 표기 안된것은 안전한 버전이니 표기 안되것 위주로 선택하면 된다. 3.x.x 사용시에서는 java 17버전이상으로 해야 실행이 되니 2,x,x버전으로 사용하는것을 추천한다.
- Project Metadata: project 패기치 이름 설정하는것이다.
- Group: 대부분 도매인명이나 개인 블로그 명으로 보면된다.
- Artifect: 빌드된 이름이라고 보면된다.
- Name: 프로젝트 명
- Description: 프로젝트 부연 설명
- Package name: 빌드될 프로젝트 패키지라고 보면된다.
- Packaging: jar 하고 war있는데 간단하게 설명하면 jar은 자바 위주로 된 프로젝트라고 보면되고 war은 web을 통체로 있는 프로젝트라고 보면된다. war에서는 sevlet/jsp파일이 들어간다고 보면된다.
- Java version: 8//11 버저중 하나만 하면된다,
- Dependencies: 의존할 외부 라이브러리/모듈을 가져오는 패키지라고 보면된다. 스프링 부트하나만으로는 개발을 못하는 경우가 많다. 예를 들어 DB Connection, 상용 Was, NGnix같은 것은 스프링 부트에서 제공을 안해주는 부분이 있어서 외부 라이브러리로 가져와서 프로젝트에 종속시켜서 개발을 하기 위해서 Dependencies가 필요하다. 아래 그림처럼 ADD DEPEDENCIES 클릭 후 LOMBOK을 입력후 가져오면된다. LOMBOK 프로젝트 하기 위해서는 많이 유용하기 때문에 대부분 프로젝트에서는 LOMBOK을 많이 사용한다. lombok에 대한 설명은 추후에 하겠다. 그리고 Spring Web, Thyemleaf 추가로 등록 해주면된다.
프로젝트 세팅이 다 끝났으면 아래에 GENERATE 버튼을 클릭하면 zip파일로 다운로드가 된다. 그리고 zip파일을 열면 아래와 같이 나온다. zip 파일을 원하는 위체 풀면 기본적인 세팅이 끝난다.
프로젝트 기본 세팅하기 - 2
위에 것은 사이트에서 기본적인 세팅이라면 이번에는 개발툴에서 직접 실행 까지 해볼 예정이다. 사용한 툴은 인텔레리제이로 할것이다. 이클립스 또는 STS있는데 대부분 SI 특정 프로젝트 제외하고는 인텔리제이를 많이 사용하기 때문에 인텔리제이로 설명할것이 인텔리제이가 설치 안된 사람은 아래의 사이트에 들어가면 설치하는 방법이 있으니 참고 하면된다.
https://jih3508.tistory.com/156
인텔리제이 열면 아래와같이 Open을 클릭하거나 아니면 file에 open으로 들어가면 있다.
로컬 파일 위치탐색 창이 열리는데 본인이 다운로드 받을 폴더에 프로젝트 폴더를 클릭하자.
그 다음에 Trust Project를 클릭하면된다.
처음 시작한 화면에서는 아래 그림 같이 안나오지만 인텔리제이 프로젝트가 열린 상황이면 아래 같은 상황이 나오는데 Thiis Window은 지금 작업한 프로젝트를 끄고 새 프로젝트를 여는 것이고 New Window는 따로 연다고 보면된다. 상황에 맞게 선택하면 된다.
그러면 Project 아래와 같이 나오는데 build 설정된것을 다운로드 하는데 시간이 걸릴것이다.
여기 까지 오면 빌드된것 다 내려받으면 아래와 화면 같이 나온다.
여기서 끝이 아니라 인텔리제이 툴에서 추가로 설정을 해야 하는 부분이 있다. 일단 먼저 설정 → Project Structure → Project들어가면 SDK와 버전 선택하는 것이 있는데 11버전 8버전 맞게 세팅하면된다. 그 다음에는 Apply → OK 버튼 누르면된다.
[File - Settings - Plugins]에 lombok 검색후 설치가 안되어 있으면 설치 하면된다.
Settings에 [Build, Excution, Deployment → Compiler → Annotation Processors] 에 Enable annotaion processing을 체크하자 그러면 어노테이션 컴파일 할시 문제없도록 해준다.
여기 까지 하면 기본적인 세팅은 끝이다.
간단하게 실행하기
프로젝트 다운받고 세팅하면 뭐하겠나 정상적으로 돌아가는지 확인을 해보자
아래 그림과 같이 hello 패키지 만드로 HelloController를 만들자
HelloController에 아래와 같이 작성 해주자
package com.test.firstproject.hello;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api")
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello Spring";
}
}
간단하게 설명하면 RestController은 Controller url를 받는 역활을 하는곳이고 RequestMapping은 url뒤에 매핑할 이름 설정 @GetMapping은 Get으로 요청이 들어 올때 url값이 들어오면 실행 시키는 메소드라고 보면된다.
그 다음 실행 버튼을 누르면 된다.
정상적으로 실행 되면 아래 그림 처럼 나온다.
이제 PostMan으로 실행한것은 확인 해볼것인데 PostMan에 대한 설치 방법은 아래 사이트에서 확인 해보면된다.
https://jih3508.tistory.com/158
localhost:8080/api/hello Get으로 보내면 아래와 같이 Hello Spring이라는 문구가 나오면 성공이다.
마무리
여기까지 하면 기본적인 Spring Project 세팅이 끝난것이다. 현업 프로젝트에서는 누군가 기본적으로 만든후 git에 내려받아서 하는거라서 세팅하는 방법 2만 알아도 크게 문제가 되지는 않을것이라 생각한다. 옛날에는 Tomcat에다 dynamic web project이면 하나무터 열까지 손을 봐야 하지만 spring boot는 내장 tomcat이 있어서 어느정도는 알아서 세팅해주기 때문에 초기 개발하는데는 불편함이 없을 거라고 생각이든다. 그래도 세팅하는 방법은 무조건 숙지를 해주길 바란다. 현업 가서 욕먹기 싫으면.... 현업에서는 하나부터 열까지 알려주는 사람이 없기 때문에 본인인이 알지 못하면 회사 생활하는데 많은 불편은 안겨다 줄것이다.
- Total
- Today
- Yesterday
- 백준
- 조합
- 동적계획법
- 파이썬
- 이론
- Programmerse
- java
- 넓이 우선 탐색
- 문자열
- DFS
- JSCODE
- 그래프
- 백트레킹
- 자바
- BaekJoon
- 재귀호출
- spring-boot
- 그리디
- 알고리즘
- Greedy
- 구현
- level2
- 누적합
- BFS
- 동적 계획법
- 배열
- Python
- 수학
- DP
- LeetCode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |