본문 바로가기
SpringBoot

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

by 정ㅇr 2022. 5. 26.
728x90

* 이 글은 인프런 김영한 강사님의 스프링 입문 강의를 듣고 작성했습니다. *

 

1) 프로젝트 환경 설정

다음과 같은 순서로 간단한 웹 앱을 만들면서 

스프링 기본 원리에 대해서 배우는 강의다.

 

Maven, Gradle은 라이브러리를 가져오고 이 라이브러리들의 라이프 사이클을 관리해주는 툴이다.

과거에는 Maven을 많이 썼지만, 요즘엔 Gradle을 많이 쓰는 추세다.

 

SNAPSHOT은 아직 만들고 있는 버전이고, M으로 시작되는 버전은 정식으로 릴리즈 된 버전은 아닌 것이다.

Group에는 보통 회사명이 들어가게 만든다. Artifact는 빌드 됐을 때 나오는 이름을 설정하는 것.

 

참고로, 현업에서는 system.out.println을 사용해서 로그를 찍지 않는다.

따로 로그를 찍어야 전체적인 로그 관리도 되고, 필요할 때 모아볼 수 있기 때문이라고 한다.

 

여기서 slf4j는 인터페이스에 해당, 요즘에는 logback을 많이 사용한다고 한다.

 

스프링 부트 주요 라이브러리

- 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 : mock 라이브러리

  -> assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리

  -> spring-test : 스프링 통합 테스트 지원


2) 웹 개발 기초

웹 개발은 다음과 같이 3가지 방식으로 이루어진다.

- 정적 컨텐츠 : 파일을 그대로 웹 브라우저에 내려줘서 띄움

- MVC와 템플릿 엔진 : jsp, php 등의 템플릿 엔진을 활용해서 동적 컨텐츠로 변환해서, Model / View / Controller 방식으로 서버에서 띄움

- API : 안드로이드, 아이폰 클라이언트와 개발을 할 때, 서버가 JSON 포맷으로 데이터를 내려주는 방식

 

 

강의 들으면서 이어서 적을 예정!

반응형

댓글