공부/웹

Spring 맛보기

연숲 2024. 4. 19. 22:37

 

 

웹 사이트를 제작할 때 많이 쓰이는 프레임 워크 중 하나인 스프링(spring)

온라인 강의나 여러 사이트를 참고하여 스프링을 익히고,

기존 웹 프로젝트 개선이라는 목표를 가지고 시작해보려고 한다.

 

1일차에는 환경 구축과 간단한 실습을 성공해보는 것을 목표로 진행하였다.

 

https://spring.io/quickstart

 

Spring | Quickstart

Spring Quickstart Guide What you'll build You will build a classic “Hello World!” endpoint which any browser can connect to. You can even tell it your name, and it will respond in a more friendly way. Step 1: Start a new Spring Boot project Use start.s

spring.io

위의 가이드를 따랐으며 가장 익숙한 프로그램인 VSCode를 사용하여 진행해보았다.

웹 페이지에 "Hello, World"를 띄우는 간단한 예제였는데 예상치 못한 부분에서 오류를 겪었다.

 

오류1: 가이드대로 했는데 왜 안되지?

일반적으로 프로젝트를 생성할 때는 개개인의 프로그램에서 프로젝트를 생성하지만,

스프링은 공식 사이트에서 초기 프로젝트 파일을 제공해준다.(물론 강제가 아닌 선택사항이다.)

 

위 가이드대로 파일을 다운받아서 코드를 작성하고 빌드를 하려고 했으나 "gradle을 찾을 수 없다"는 오류가 떴고,

이를 해결하기 위해서 gradle build, gradlew build, clear 등등 여러 명령어를 실행해보았으나
오류를 해결할 수 없었다.

 

해결 방법은 정말 간단했는데 프로젝트를 생성할 때 Gradle Project를 선택하는 것이었다...

생각없이 가이드를 따라하기보단 각 요소를 확실히 이해하는 것이 중요하다는 것을 다시 한 번 깨달았다. 

 

오류2: 가장 최신 것이 좋은 거 아닌가?

 

 

스프링을 쓰기 위해선 JDK(자바 개발 키트)를 설치해야하는데 나는 이미 설치가 되어있어서 그대로 진행했다.

하지만 가이드와 다르게 빌드를 했을 때 제대로 실행되지 않고 

task :resolvemainclassname failed, Task :compileJava FAILED

등의 오류가 떴다.

 

한 스프링 예제 글에서 답을 찾을 수 있었는데

JDK 17 이후 버전은 Gradle이 잘 호환되지 않는다는 것이었다.

내가 설치한 버전은 JDK 22였는데 17로 바꾸자마자 바로 실행이 되었다.
호환성을 간과하고 있었는데 다른 작업을 할때도 호환성을 잘 체크해야겠다.

 

이렇게 오래걸릴줄 몰랐는데 우여곡절 끝에 Hello World!를 출력할 수 있었다.

웹에서 보이는 부분은 어떤 프레임워크를 써도 동일하지만 

그 내부 함수와 사용방법이 다른 것이 각 프레임워크의 매력인 것 같다.

다른 스프링 예제도 진행해보면서 스프링을 빠르게 익히고 싶다.