"인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 듣고 작성한 글 입니다."
* 프로젝트 환경 설정
강의에 사용되는 스프링 부트 프로젝트의 환경설정은 다음과 같다.
- Spring boot : 2.5.5
- Language : Java(jdk >= 11)
- Packaging : Jar
- 프로젝트 메타 데이터
- groupId : hello
- artifactId : hello-spring
- Dependencies(의존성 주입) : Spring Web, Thymeleaf
* Gradle 전체 설정 파일
plugins {
id 'org.springframework.boot' version '2.5.5'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
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'
}
test {
useJUnitPlatform()
}
위의 Gradle 설정 파일에서 repositories{ mavenCentral() } 이 있는것을 살펴 볼 수 있는데, 이는 dependencies(의존성 주입) 에 작성되어 있는 라이브러리 들을 mavenCentral 이라는 공개된 사이트에서 다운로드 받을 수 있게 해준다.
필요하다면 특정 사이트 URL 을 기입해 줄 수 있다.
* 프로젝트 실행 코드
- HelloSpringApplication.java
package hello.hellospring;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloSpringApplication {
// 웹 어플리케이션 메인 메소드 실행
public static void main(String[] args) {
SpringApplication.run(HelloSpringApplication.class, args);
}
}
메인 메소드에서 SpringApplication.run 메소드에 현재 메인 메소드를 포함하고 있는 클래스(HelloSpringApplication.class)를 파라미터로 넘겨주고 실행시킨다.
-> @SpringBootApplication 어노테이션을 통해 스프링 부트 어플리케이션이 실행된다.
스프링 부트 어플리케이션은 자체적으로 톰캣 서버를 내장하고 있다. 해당 서버를 동작시키면서 스프링 부트가 서버에 같이 올라가게 된다.
* 라이브러리 살펴보기
IntelliJ 툴의 왼쪽에 있는 프로젝트 구조 단 에서 External Libraries 를 살펴보면 엄청나게 많은 라이브러리 들이 다운로드 되어져 있는 것을 확인 할 수 있다.
Gradle 이나 Maven 같은 빌드 툴 들은 의존관계 들을 관리해준다.
spring-boot-starter-web 과 같은 라이브러리를 가져오면 starter-tomcat 과 같이 starter-web 라이브러리와 의존관계를 가지고 있는 라이브러리 들을 함께 가져온다.
라이브러리 들간의 의존관계를 확인하고 싶다면 IntelliJ 툴 오른쪽의 Gradle 탭 -> Dependencies 폴더에서 확인할 수 있다.
위의 경로를 찾아보면 아래의 이미지와 같이 각 라이브러리의 하위에 의존관계로서 외부에서 다운로드 되어 함께 활용되는 다른 라이브러리 들이 열거되어 있는것을 확인해볼 수 있다.
* 강의 중 추가 내용
- 로깅(logging)
서버 개발자로 취직하게 될 경우 실무에서는 로그를 살펴볼 때 System.out.println 이 아닌 logging 을 활용한다.
그래야 심각한 오류와 같은 것들을 따로 모아두는 등 로그 파일들을 관리하기 편하기 때문이다.
starter-logging 라이브러리(스프링 부트를 쓴다면 기본적으로 들어오는 라이브러리) 와 의존관계에 있는 라이브러리 들을 살펴보면 slf4j, logback 과 같은 것들이 있는 것을 확인할 수 있다.
실무에서는 로그를 살펴봐야 할 때 위의 두 가지 라이브러리 들을 혼합해서 많이 사용한다고 한다.
- 테스트 관련 라이브러리
자바 진영에서는 테스트를 진행 할 때 Junit 이라는 라이브러리를 주로 쓴다.(주로 5 버전을 쓴다.)
'Spring basic' 카테고리의 다른 글
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 비즈니스 요구사항 정리 및 회원 도메인과 레포지토리 만들기 (0) | 2021.11.03 |
---|---|
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - API (0) | 2021.10.23 |
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 정적 컨텐츠 및 MVC 와 템플릿 엔진 (0) | 2021.10.23 |
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - View 환경설정 및 빌드하고 실행하기 (0) | 2021.10.10 |
스프링에 대한 기본적인 학습을 다시 시작하는 데에 앞서... (0) | 2021.10.06 |