스프링 입문 1일차

Jaemin_Eun·2023년 7월 7일
0
post-thumbnail

스프링 입문 1일차

참고강의: 인프런 | 스프링 입문

0.인트로

이틀전쯤부터 빌드툴인 maven과 스프링에 대해서 공부하기 시작했습니다.
깃헙에서 오픈 프로젝트를 클론받고 빌드 클릭! 과 동시에 실패...
VM crash? 에러였고 스택오버플로우에서 1~2시간동안 헤맸지만
결국 해결하지 못했습니다..

pom.xml 설정에 대해서 좀 알고있으면 고칠 수 있는 오류인걸로 봤는데
하..하..못고쳤습니다.. 빌드툴에 대해 좀 지식이 쌓이면 재도전하려합니다.

그래서 맨땅에 헤딩은 잠시 접어두고 슬금슬금 강의를 찾다가
김영한님의 스프링 입문 강좌를 보면서 spring과 gradle에 대해 공부하기 시작했습니다.

1. 프로젝트 생성

가장 먼저, spring 프로젝트 스타터 사이트(https://start.spring.io/)
를 통해서 프로젝트를 생성합니다.
라이브러리는 Spring Web과 Thymeleaf 를 추가해줍니다.

정확히 어떤 역할의 라이브러리들인지는 잘 모르겠으나 설명을 읽어보니
Spring Web은 웹개발에 필요한 것으로 보입니다.
Tomcat을 기본 웹 서버로 사용한다고 합니다.

Thymeleaf은... 어... 웹과 단독 환경 모두에서 사용할 수 있는 템플릿 엔진이고 HTML이 올바르게 브라우저에 출력되게하고, 정적 부모 객체..?
죄송합니다. 잘 모르겠습니다.
암튼 HTML을 사용하기 위해 필요한 것 같습니다. 제대로 알게되면 다뤄보겠습니다.

2. localhost 연결확인

프로젝트 생성 후 메인 클래스를 실행하여 연결여부를 확인합니다.
아무것도 작성하지 않은 상태이기 때문에 오류 페이지가 나오는 것이 정상입니다.

지난 학기에 Xampp를 이용해서 APM(apache + php + MySQL)을 이용해봤는데
그 때는 당연하게도 하나부터 열까지 직접 코딩하고 설정도 일일이 수정해서 사용했습니다.

spring을 통해 라이브러리 몇개 추가하니 바로 웹서버가 연동되는 것은 매우 신기했고, 일일이 연동하고 코드를 밀어넣는 것보다 훨씬 편리해보였습니다.

그렇게 입문 15분만에 프레임워크의 중요성을 깨닫게 된 뉴비였습니다.

3. 라이브러리 살펴보기

그 이후에 프로젝트에 추가된 라이브러리를 살펴봤습니다.
여기서 의존관계라는 중요한 개념에 대해서 언급되는데
사실 아직 잘 이해하지는 못한 것 같습니다.

쉽게 말하자면 gradle이 A라는 라이브러리를 다운로드할 때 A와 의존관계에 있는 라이브러리 B,C,.. 을 함계 다운로드받는 것이라고 합니다.

그래서 grable의 Dependencies 디렉토리를 확인해보면,
프로젝트 생성시에 추가했던 Spring Web과 Thymeleaf외에도 tomcat, webmvc 등등 많은 라이브러리가 함께 다운로드된 것을 확인할 수 있습니다.

4. 고찰

일단 대략 10시간정도를 spring에 입문하기위해 헤매고 나니,
의도치않게 다양한 지식을 얻게되어 참 기쁘다...

아무래도 java도 오랜만이고, InteliJ IDE 도 처음, 프레임웤도 처음이다보니
모든게 어렵고 눈에 익숙하지가 않다.

사실은 파이썬에 훨씬 자신이 있어서 Django를 배워볼까싶기도 했었지만 기왕 Spring을 시작했으니 최대한 노력해서 많이 배울 수 있도록 노력해야겠다.

0개의 댓글