Spring

[Spring] 인프런 - 스프링 입문 스프링부트(1-1)

nsean 2024. 2. 4. 20:54

Spring을 공부해야 하는 이유:

  • 실무에서 제대로 동작하는 웹 어플리케이션을 개발하기 위해서 스프링을 공부해야 됨

효율적으로 학습을 하는 방법은 직접 스프링 웹 애플리케이션을 한번 만드는 핵심 사이클을 돌려보는 것. 이후에 핵심 이론들을 공부하며 이 기술들이 어디에 사용되는지를 더 큰 맥락에서 이해할 수 있을 것

 

강의의 목표:

스프링 학습에 제대로 된 첫 길잡이 역할을 하는 것

때문에 스프링 기술에 매몰되기보단, 어떻게 사용해야 하는지에 초점을 맞출 것.

 

예정 강의

  • 스프링 입문 강의
  • 스프링 핵심 원리
  • 웹 MVC
  • DB 데이터 접근 기술
  • 스프링 부트

요즘은 다 웹으로 개발하기 때문에 웹 MVC가 매우 중요

db 데이터 접근 기술은, 결국 요즘 개발은 다 데이터베이스에 저장해야 한다. 하지만 그것이 생각처럼 만만하지 않다.

스프링 부트를 사용하여 프로젝트 진행(대부분의 실무), 스프링부트가 매우 거대하기에 어떤 거를 주로 사용하는지 사용하지 않는지, 어떻게 프로젝트를 진행하는지 위주로 설명을 한다고 했다.

 

먼저 스프링을 사용하기 위해선

java 17과 IDE를 설치하는데, IntelliJ와 Eclipse 중 IntelliJ를 추천한다고 하였다.

IntelliJ는 유료 버전과 커뮤니티용 무료 버전이 있으며, 일단 기타 버전 - IntelliJ IDEA (jetbrains.com)에 들어가서 무료 버전인 Community Edition을 받아 사용하였다.

 

프로젝트 생성

먼저 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성(예전에는 밑바닥부터 했었지만 요즘에는 스프링 부트를 기반으로 프로젝트를 생성하면 됨)

https://start.spring.io 

 

설정 Maven/Gradle

필요한 라이브러리 제공, 빌드하는 라이프사이클을 관리해 주는 툴, 예전에는 Maven을 주로 사용했지만 근래엔 Gradle을 사용하는 추세.

언어는 당연하지만 java

springboot 버전에서 M1이나 SNAPSHOT은 아직 정식 릴리즈가 안된 버전이기에 ()가 없는 것들 중에 최신버전을 골라주면 된다.

 

 

Group은 기업의 도메인명을 보통 적어줌. 없으면 아무거나(hello) 같은 거 적어두면 됨.

Artifact는 빌드에 나올 때의 결과물, 즉 프로젝트 명이라고 한다.

Name이나 Description은 의미 그대로이며, 오른쪽의 dependencies가 중요하다.

spring boot 기반으로 프로젝트를 진행할 것인데 어떤 라이브러리를 사용할 것인지 선택하는 것이다. 일단 웹 프로젝트를 만들어야 하기 때문에 먼저 스프링 웹과,

html을 만들어줄 탬플릿 엔진인 thymeleaf를 설치해 준다.

(Thymeleaf)를 고집할 필요는 없고, 회사마다 다르기 때문에 그냥 탬플릿 엔진을 설치해 준다고 이해하고 있으면 된다.

그 이후, 압축을 풀고 intellij로 그 프로젝트를 열어주면 기본적인 프로젝트 설치는 끝나게 된다.