Spring

[Spring] 스프링을 처음 시작하며...프로젝트 생성(1)

Jay_J 2024. 7. 9. 11:45

이제 곧 졸업을 앞두기도 해서 여러 지원 공고를 찾아보니 스프링을 쓰는곳이 많았다. 자바 공화국인 한국만 그럴줄 알았는데, 미국도 다를건 딱히 없었다. 2, 3학년때 자료구조 알고리즘을 자바로 배우며 레쥬메에 자바를 할 수 있다고 썼던 경험이 있는데, 면접을 보니 Spring을 다룰줄 아냐고 묻길래 당황했다. 자바면 자바지 뭔 또 스프링이야? 했는데, 알고 보니 스프링은 미국과 한국 모두에서 매우 널리 사용되는 풀스택 개발 프레임워크로 자리 잡고 있었다... 그래서 이번 기회에 스프링을 공부하려고 한다!

 

먼저, 이 스프링을 공부 할땐 IntelliJ 라는 IDE를 쓸 것을 추천 받았다. 지금까지 VSCode랑 Eclipse만 써온 나로썬 배울것이 하나 더 늘어나 기분이 좋다. 먼저, 프로젝트를 생성하려면 컴퓨터에 Eclipse나 IntelliJ같은 IDE가 깔려 있어야 하고, 그 다음에 Java를 설치 해야한다. 이제는 차례대로 어떻게 프로젝트를 생성하는지 알아 보겠다.

 

📎  프로젝트 생성과 실행

https://start.spring.io/ 여기로 들어가면 스프링 프로젝트를 쉽게 생성 할 수 있는 툴을 제공한다. 

 

먼저, 왼쪽 파티션에는 필요한 프로젝트 상황에 맞춰 여러가지 환경 설정을 해준다.

 

이제, 오른쪽 파티션인 Dependencies를 설정할 차례인데, 이제 내가 진행할 프로젝트는 웹 애플리케이션 개발이기 때문에 아래와 같은 의존성들을 추가 해 주었다.

 

필요한 의존성들을 추가한 후, Genreate버튼을 누르면 .zip파일을 다운 받을 수 있다. 압축을 풀고, 방금 다운받은 IntelliJ IDE에 들어가 방금 다운받고 압축을 해제한 .zip파일을 열어보자.

 

 

짜잔! 생애 처음으로 IntelliJ IDE에서 스프링 프로젝트를 열었다. 생김새가 AndroidStudio랑 똑같이 생겼다. 저번 학기에 Android앱 개발 당시 썼었는데 다시 보니 반갑다!

 

 

프로젝트를 생성하고, 안을 들여다 보면, 현재 highlight된 build.gradle이라는 파일이 보일텐데, 이걸 클릭해보면

 

이렇게 생겨있다. 사실 이 파일은 예전같으면 개발자가 직접 작성하거나, 어디에서 누가 작성해놓은 좋은 코드를 긁어와서 설정해야 했는데, 아까 위에서 언급되었던 https://start.spring.io/ 여기서 프로젝트를 생성한 결과 이러한 설정 파일을 직접 작성하지 않아도 된다. 개발자들의 수고를 덜어주는 노력은 항상 가상하다! 사실 현재 수준에서 이 gradle의 의미 자체를 깊이 파고 들어갈 필요는 없으며, 직관적으로 버전을 설정하고 라이브러리를 가져오는 설정 파일이다 라는 정도로만 이해하면 된다.

 

그냥 넘어가려 했으나 나의 눈길을 잡은 부분이 있었다. 위의 gradle파일의 코드를 확대 해보면 dependency부분에 이런 코드들을 볼 수 있다.

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

 

위에서 내가 dependencies를 설정할때 추가했던 thymeleaf랑 spring-boot-starter-web이 포함이 되어있었다! 그러니까 내가 처음에 https://start.spring.io/ 여기서 의존성을 설정하면 프로젝트를 만들고 gradle파일에 이러한 의존성을 자동으로 설치 해 준다. 또 궁금한점은, 그렇다면 이러한 라이브러리들을 설치하려면 어딘가에서 가져와야 할텐데, 어디서 가져올까? 바로 위에 있는

repositories {
	mavenCentral()
}

 

여기(mavenCentral)서 다운을 받는다는 의미이다. 필요하면 특정 사이트 URL을 넣어주면 된다.

 

여러가지 설정 파일들을 거두절미 하고, 이제 직접 프로젝트를 run해보자.

main - java 안에있는 HelloSpringApplication을 들어가 보면 이러한 모습이다.

 

이제 그냥 이 파일에 있는 main함수를 실행해 보자. 자바를 배워본 사람은 알겠지만, 자바는 ,main()함수를 진입점으로 프로젝트가 실행된다. 이 main함수를 실행하면 콘솔에 포트8080에서 무언가가 실행되었다고 뜨는데, 확인을 위해 크롬 브라우저에 8080을 치고 들어가 보자.

 

이러한 페이지가 뜬다면 성공이다. 위에 favicon은 왜 안뜨는지 모르겠지만 그게 중요한게 아니다. 자바의 스프링부트는 Tomcat이라는 웹서버를 내장하고 있는데, 위 코드처럼 SpringApplication.run을 해주면 자체적으로 웹을 띄우면서 실행하는 방식이다.

 

이렇게 스프링 프로젝트를 공부하기 위해 필요한 자바, IntelliJ, 그리고 https://start.spring.io/ 를 이용해 프로젝트 생성, 실행까지 해 봤는데, 사실 위의 내용들은 간단한 내용이다. 이제 겨우 첫 Spring에 걸음마를 떼었다. 항상 Spring을 쓴다는 내용을 주변에서 듣고, 채용 공고에서도 들어봤지만, MERN 스택으로만 웹 개발을 해온 나로썬 새롭고 설레는 일이다! 다음 포스팅에는 스프링의 라이브러리에 대해 공부해 보겠다.