Programming/Java \ Spring

[인프런] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

출처 : 인프런 강의 중 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

28강 중 6강까지

 

강의자료.pdf
2.41MB

 

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

start.spring.io/

에서 springboot project 파일을 만든다

spring의 pom.xml을 대체하는 내용인것 같다.

 

project를 maven으로 할지 gradle로 할지 결정하고 언어, springboot 버전, project 이름, java 버전 설정,

그리고 dependencies로 프로젝트에 필요한 라이브러리를 추가하고 generate를 누르면 압축파일이 다운로드된다

 

 

다운로드된 압축파일을 풀고 인텔리제이에 open으로 불러온다.

build grade >> Open as ~ 클릭

 

 

당연한 이야기지만 start.spring.io 에서 설정한 java 버전과 컴퓨터에 설치되어있는 java 버전이 다르면 실행안됨

gradle, maven 모두 의존되어 있어서 (기본)라이브러리가 많음

 

logback, slf4j 로그 관련 라이브러리 검색해서 확인해봐야함

실무에서는 system.out.pringln 으로 일일이 콘솔창에 찍어내는게 아닌 로그로 기록을 남겨서 확인한다고함.

사실 국비지원으로 spring을 배울때 pom.xml을 자세히 보면 log4j라고 로깅 라이브러리가 있었는데

자세히 알아보지 않고 넘어갔던 부분이었음... 이번에 공부하면서 꼭 살펴봐야할 부분중 하나!

단위테스트 관련 라이브러리는 junit, tdd가 필수로 각광받는 트렌드이기 때문에 꼭 공부해야될 라이브러리(junit5)

 

스프링부트 공식문서🚀

 

thymeleaf 템플릿 엔진 thymeleaf 공식 사이트: https://www.thymeleaf.org/

스프링 공식 튜토리얼: https://spring.io/guides/gs/serving-web-content/

스프링부트 메뉴얼: https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-template-engines

 

@GetMapping 어노테이션은 http 메소드 GET 방식을 의미한다

return "hello" >> spring 에서는 view파일명을 의미했고 springboot에서도 마찬가지,

그러나 위치가 다름 spring에서는 views 하위에 있는 jsp, html 등의 템플릿 파일명이었지만,

springboot는 resources > templates 하위의 html을 의미

 

<p th:text="'안녕하세요. ' + ${data}">안녕하세요. 손님</p>

th:text 구문은 태그 value를 텍스트로 치환하는 타임리프 언어이다.

따라서, <p>안녕하세요. 손님</p> 의 내용이

p태그의 속성으로 th:text가 주어져 <p th:text="'안녕하세요. ' + ${data}"></p> 의 결과가 발생한 것이다.

${data}는 컨트롤러에서 model로 넘겨준 data가 적용된다.

 

cmd에서 build 하여 hello-spring-0.0.1-SNAPSHOT.jar 가 생성됨. 

위 파일을 실행하면 짜잔! build라는 말 자체가 프로젝트를 하나로 뿅! 하는거라 이 파일만 배포하면 된다고 한다.

 

빌드파일 삭제 >> gradlew clean

빌드파일 삭제후 다시 빌드 >> gradlew clean build