[Spring] Spring Boot 시작하기

2024. 10. 23. 03:53Spring

STS에서 Spring Framework로만 프로젝트를 하다가, 이번에 아예 Spring Boot를 시작해보려고 한다.

Spring Boot는 기존의 Spring보다 의존성 관리, 초기 설정 등에 대해서 훨씬 간단하고 편리한 서비스를 제공한다고 생각하면 된다.

 

Spring Boot는 대부분 IntelliJ를 많이 사용한다고 하여, 나도 이번 기회에 넘어가보기로 했다.


 

https://www.jetbrains.com/ko-kr/idea/

 

IntelliJ IDEA – Java 및 Kotlin을 위한 최고의 IDE

 

www.jetbrains.com

위 링크에서 다운을 받으면 되는데, 인텔리제이는 유료 버전이 있기 때문에 무료로 사용하려면 "community" 버전

설치 해주어야 한다.

 

Spring Boot는 https://start.spring.io/ 링크에서 프로젝트 기본 정보 입력 및 설정 후 > 필요한 의존성 부여 > 압축을 풀어 인텔리제이에서 해당 파일을 열어서 사용한다.

 

이때까지 Java11버전을 사용하다가, Spring Boot는 더 이상 11버전을 지원하지 않는다고 하여 17버전을 새로 설치해 주었다.

 

스프링 부트가  진짜 편하다고 느낀게 이렇게 프로젝트를 생성해주면 더 이상 설정을 만져줄게 없다는 것이다.

(새로 의존성을 부여해야 하는게 아닌 이상)

심지어 서버도 내장 되어 있어서, 톰캣을 다운 하고 Server를 설정 해야하는 번거로운 일도 없다.

 

기존의 Spring과 약간 다르게 여기서는 Thymeleaf를 사용하고 있어서,  src > main > resources > templates 경로에 jsp 파일이 아닌 html 파일을 생성하여 view를 구성하면 된다.

 

Thymeleaf에 대해서는 다음 포스팅에 자세히 알아볼 예정이다.

 

그리고 controller, service 등의 패키지는 src > main > java > com.OO.프로젝트이름 경로 하단에 생성하여 작성해주면 된다.

 

대충 테스트 해볼 수 있게 view와 controller를 구성했다면,

 

위처럼 생긴 (프로젝트 이름)Application.java 파일을 실행해주고, localhost:8080을 들어가면 확인을 할 수 있다.

 

근데 나는 실행을 해보니 콘솔에 에러가 떴었다.

 

Execution failed for task ':com.yubin.SpringBootTest.SpringBootTestApplication.main()'. > Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 1s 3 actionable tasks: 1 executed, 2 up-to-date

 

이런 오류가 뜨길래 ChatGPT의 도움을 받아봤더니 인텔리제이에서 jdk의 버전 설정이 제대로 안되었을 때의

오류 코드라고 하여, 해결 방법을 찾아보았다.

 

해결방법

File > Project Structure > Project 부분에서 프로젝트 SDK, 모듈 SDK를 모두 %JAVA_HOME%의 경로에 있는 jdk-17버전으로 맞춰주어야 한다.

그리고, File > Settings > Build, Execution, Deployment > Build Tools > Gradle에서 Gradle JVM이 JDK 17로 설정되어 있는지 확인까지 해주면 된다.

 

나는 위와 같은 방법을 사용하니 프로젝트가 잘 작동하는 것을 확인할 수 있었다.


기존의 Spring은 새로 프로젝트를 만들어 시작하려고 하면 설정도 다 처음부터 해야하고, dependency도 하나 하나 추가 해줘야 하는게 너무 번거로웠는데, 스프링 부트를 처음 사용해보니 정말 신세계였다. (이걸 왜 이제야 맛 본 걸까...)

 

몇 가지 빼고는 Spring과 비슷해서 금방 적응할 것 같긴한데, 인텔리제이에도 아직 익숙하지 않아서 조금의 적응 시간이 필요한 것 같다. 

 

새로 사이드 프로젝트를 만들어보고 싶은게 생겨서, 그 프로젝트는 스프링 부트로 한 번 진행해볼 생각이다.

'Spring' 카테고리의 다른 글

[Spring] Thymeleaf  (0) 2024.11.04
[Spring] DispatcherServlet  (0) 2024.10.12
[Spring] QueryString  (0) 2024.10.11
[Spring] ViewResolver  (0) 2024.10.11
[Spring] 인증 메일 보내기  (1) 2024.10.11