-

[스프링 부트 Step 2] - 라이브러리 살펴보기 본문

백엔드 기술 정리/스프링 부트

[스프링 부트 Step 2] - 라이브러리 살펴보기

흣차 2021. 12. 10. 03:40
728x90
반응형

본격적으로 웹 개발을 하기에 앞서, 가장 중요한 것은 개발 툴 설치입니다.

옛날에 웹 개발 프로젝트를 잠깐 할 때에는 이클립스 + STS4를 설치해서 사용했지만 요즘은 IntelliJ를 주로 사용하는 추세인 것 같아서 IntelliJ로 복습겸 되짚어 보려고 합니다.

그러므로 스프링 부트를 처음 접하는 분들께서는 스프링 부트 2.6.1을 설치하시고 (gradle 버전) 오시길 바랍니다.

다 설치하고 라이브러리는 따로 설치하지 않았는데도 기본적으로 스프링부트에는 라이브러리가 탑재되어 있습니다.

아파치도 있고,, 톰캣도 있고.. JUnit도 있고.. 스프링 부트 등등 무수히 많은 라이브러리가 있습니다.

요즘엔 기본적으로 웹 개발을 하면 이정도 라이브러리는 땡겨서 사용해야 하기 때문에 그렇습니다.

이 작업은 gradle이 수행합니다.

스프링부트 다운로드 홈페이지에서 web-starter와 thymeleaf만 선택해서 설치했는데 무수한 양의 라이브러리가 같이 깔렸다는 것은 나중에 웹 개발을 할 때에 이만한 양의 라이브러리가 필요하단 거겠죠??

(스프링부트는 이래서 스프링보다 훨씬 편한 것 같다는걸 새삼 느낍니다.)

이걸 어디서 정확하게 확인할 수 있냐면, IntelliJ에서 alt를 두 번 눌러주세요! (맥은 커맨드 2번)

그럼 오른쪽 위에 Gradle이 생겼다 없어졌다 확인할 수 있습니다.

저는 웹 개발에 가장 필요한 Thymeleaf와 Web-starter만 설치했으므로 

이렇게 뜹니다.

근데 잘 보시면 타임리프 안에 까보니까 또 디펜던시가 뜨고 그 내부에 또 무수한 라이브러리가 있습니다.

즉, 그저 관련 있는 라이브러리가 무수하게 깔린게 아니라, 각각 의존적으로 연관이 있는 라이브러리 끼리 같이 설치되었음을 알 수 있습니다.

그리고 여기 보시면 아는 단어들이 몇 개 보이시죠??

json도 있고 tomcat도 있네요.

이 톰캣은 이 얘기를 빼놓을 수 없겠어요.

옛날 고대의 우리들의 선배들은 웹서버를 직접 서버에 설치를 해놓으셨어요.

거기에 자바 코드를 밀어넣는 식으로 해서 웹서버랑 개발 라이브러리가 완전히 분리되어 있었습니다.

그래서 톰캣도 따로 공부해야하는 수요가 있었지요.

하지만 요즘은 툴 하나안에 이미 웹서버를 가지고 있어요.

이를 임베디드 내장하고 있다고 얘기하는데요. 다시 봐도 옛날엔 정말 코드량도 많았을 거고 이런 편한 툴도 없었으니 개발자들은 많이 힘들었을 것 같다고 생각이 듭니다.

그리고 여기 라이브러리도 한 번 살펴보겠습니다.

로그백이 있고 slf4j가 있습니다. 이 둘은 하나의 세트입니다.

요즘은 시대가 많이 바뀌긴 했는데, 로그백은 쉽게 말해서 인터페이스입니다만 어떤 방식으로 로그를 낼건지를 선택하게 해줍니다.

신입 개발자들과 실무에 일하는 개발자들의 가장 큰 차이는 에러를 출력할 때 System.out.을 쓰는거와 Log를 출력하는지의 차이라고 합니다.

아무래도 Log를 출력해야 치명적인 오류도 발견할 수 있기 때문에 Log를 쓰는 습관을 기르는 것이 좋겠습니다

그래서 총 정리를 해보겠습니다.

  • Spring boot starter web
    • spring boot starter tomcat : 톰캣 (웹서버)
    • spring webmvc : 스프링 웹 MVC
  • Spring boot starter thymeleaf : 타임리프 템플릿 엔진 (View)
  • Spring boot starter (공통) : 스프링 부트 + 스프링 코어 + 로깅
    • spring boot
      • spring core
    • spring boot starter logging (로깅)
      • logback, slf4j
  • 테스트 라이브러리
    • spring boot starter test
      • junit : 테스프 프레임워크
      • mockito : 묵 라이브러리
      • assertj : 테스크 코드를 좀 더 편하게 작성하게 도와줌
      • spring test : 스프링 통합 테스트 지원

 

자 그럼 간단하게 도메인에 띄워볼까요?

그래서 html파일을 만들어 주어야 합니다.

제일 왼쪽 src 폴더의 main 안에 resources 안에 file -> new file이라 만들고 index.html이라는 제목을 짓습니다.

그리고 파일이 생성 되면 ! + Tab 키를 누르시면 오른쪽처럼 짠 하고 기본 html 양식이 입력됩니다.

(VSCode에서도 똑같이 되요)

이 html 파일은 페이지의 표지와 같은 부분입니다.

그래서 프론트단의 주 업무이기도 해서 무언가 출력하고 싶을 땐 이 html을 통해 출력해주는 것이 좋습니다.

그래서 <body> 내부에 hi 입력 후 ctrl + art + f10을 눌러 서버를 실행 하고 https://localhost:8080 를 입력하시면 진짜 서버가 실행됩니다.

확인 되시나요???

우리는 최초로 IntelliJ를 이용하여 스프링부트 서버를 실행시켜 보았습니다.

다음엔 본격적으로 어노테이션, css,js,html의 구조 등에 대해 알아보겠습니다.

감사합니다.

728x90
반응형
Comments