Date: 2022-03-01 

 

[강의]

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 (inflearn.com)

(스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 v2021-12-01)

 

스프링 강의로 유명한 김영한 님의 스프링 기초 강의이다. 심지어 무료(!)

이 강의를 들으면서 스프링으로 간단한 프로젝트를 구현하며 스프링 기초를 이해해 보자.


1. 스프링 시작하기 및 기본 개념

 

Spring Boot:

spring 프로젝트를 쉽게 만들어주는 도구. start.spring.io 주소로 이동해서 빌드 관리 도구, spring boot 버전, 사용할 언어(여기서는 Java), 프로젝트 이름, 사용할 Dependencies(스프링이 제공하는 여러 기능, 라이브러리들)을 고르고 GENERATE 버튼을 누르면 해당 조건들을 갖춘 프로젝트를 바로 만들어 준다. 

 

빌드 관리 도구:

maven or gradle.

Maven이 Gradle보다 먼저 나왔지만 현재는 gradle을 많이 사용한다. 여기서도 gradle으로 진행한다. 

 

빌드 관리 도구란: 스프링 프로젝트를 만들면서 필요한 외부의 라이브러리 등의 사용을 관리해 주고, 프로젝트를 실행(빌드)하는 과정을 전반적으로 관리해주는 프로그램이다. (외부 라이브러리를 사용할 때는 gradle에 명시해 주면 프로젝트 내부에서 따로 import 과정을 거치지 않아도 되고, gradle 자체에서 build 설정이 되어 있기 때문에 사용자는 그냥 프로젝트를 실행하기만 하면 된다.)

 

Dependencies: 스프링에서 제공하는 여러 라이브러리(기능들) 중 어느 것을 사용할 것인지를 선택. 

여기서는 (1) 웹 프로젝트이므로 Spring Web, (2) .html 파일을 만들기 위해서 필요한 템플릿 엔진(template engine) 중 하나인 thymeleaf 두 개의 라이브러리를 추가했다. (템플릿 엔진의 개념은 추후에 자세히 알 수 있을 것 같다.)


2. 프로젝트 기본 구조

 

프로젝트의 기본 구조는 아래 화면과 같다. 

그 중에서 강의에서 짧게 설명한 부분만 정리해 보았다. 

 

-.idea : 인텔리제이에서 프로그램을 실행할 때 사용하는 파일들

 

-.gradle: gradle에서 사용하는 파일들

 

-src: 사용자가 직접 작성하는 파일들. 이 안에 프로그램을 구성할 파일들이 들어간다. 

-src>main: 스프링 프로젝트를 구성하는 파일들.

-src>main>java: 스프링 프로젝트를 구성하는 자바 파일들.

-src>main>resources: 스프링 프로젝트를 구성하는, 자바 파일이 아닌 다른 파일들(html 템플릿 등이 포함된다.)

 

-src>test: 스프링 프로젝트를 구성하는 테스트 코드. 별도의 디렉토리로 분류될 정도로 요새는 test의 중요성이 커졌다고 한다. 

 

-.gitignore: git을 사용한 사람들이라면 알던데 나는 잘은 모른다. git으로 프로젝트를 업로드할 때는 소스 코드만 올리고 기본 설정 파일 등 부가적인 것들은 올리지 말아야 하는데, 이 작업을 도와주는 파일이다. 간단하게 보면 프로젝트 안의 파일들 중 업로드할 것과 그렇지 않은 것을 구분해 준다. 

 

-build.gradle: gradle을 통해 프로젝트를 build할 때 이 파일을 참고한다. 아까 start.spring.io에서 선택한 dependencies들이 이 파일의 plugins{}과 dependencies{} 내부에 명시되어 있다.

dependencies{} 안에 명시된 라이브러리들은 repositories{} 안에 명시된 mavenCentral() 이라는 곳에서 가져온다고 한다. 이 상태는 가장 기본일 뿐, 만약 가져오고 싶은 외부 라이브러리가 있다면 mavenCentral() 외에 다른 곳을 추가할 수도 있다.

또한 스프링에서는 테스트 코드를 위한 별도의 라이브러리(JUnit)도 기본으로 설정되어 나온다. 이만큼 테스트가 중요한 것 같다. 


3. 프로젝트 실행하기

 

실행 방법은 매우 간단하다. src>main>java>HelloSpringApplication 안의 메인 메소드를 실행하면 프로젝트가 실행된다.

이게 가능한 이유는 해당 HelloSpringApplication 클래스에는 @SpringBootApplication 이라는 Annotation(@)이 붙어 있고, 이 Annotation 내부에는 Tomcat 서버가 내장되어 있기 때문에, 메인 메소드를 실행하면 tomcat 서버가 실행되는 원리이다. 

+ 처음에는 아무런 작업도 하지 않았기 때문에 Error Page가 나오는 것이 정상이라고 한다.


+ 빌드 빠르게 하는 방법

gradle은 빌드 관리 도구라서 빌드 과정이 쉽게 이뤄지도록 도와주지만, gradle을 거쳐서 빌드를 하지 않아도 된다. 오히려 Intellij에서 gradle을 거치지 않고 빌드를 할 경우 속도가 더 빠르다.

 

Windows의 경우, File>Setting에서 설정 창을 열고 Build, Execution, Development>Gradle 창을 연다. 

그리고 'build and run using' 과 'run tests' 옵션을 gradle이 아니라 Intellij로 설정한다. 

그러면 빌드 속도가 좀 더 빨라진다. 

'server-side > spring' 카테고리의 다른 글

spring 개발일지 15-16강  (0) 2022.03.05
spring 개발일지 10-12강 + 개발 고민주제 틈틈이 정리  (0) 2022.03.04
spring 개발일지 5-6강  (0) 2022.03.03
spring 개발일지 4강  (0) 2022.03.03
spring 개발일지 #0  (0) 2022.03.01

+ Recent posts