Springframework를 기반으로 한 개발플랫폼
Main Contributor : Phill Webb
기능정의
구성요소
언어
빌드도구
Dependencies
network에서 get방식의 요청이 이루어지는 것 확인.
실행파일
springboot starter
의존성과 설정을 자동화해주는 모듈.
개발자가 신경써야할 것.
gradle
sts에는 기본gradle플러그인을 별도로 설치해야한다.
현재 marketplace에는 3.x버젼만 설치가능. starter project에서 선택할 수 있는건 2.x까지이므로, 사용자 수동설치 요망
Eclipse Buildship: Eclipse Plug-ins for Gradle 2.2.2
설치 Update Site : http://download.eclipse.org/buildship/updates/e48/releases/2.x/2.2.2.v20181003-1024
브라우져에서 다음 url을 넣으면 zip파일 다운로드 가능
http://start.spring.io/starter.zip?
name=springboot&
groupId=com.kh&
artifactId=springboot&version=0.0.1-SNAPSHOT&
description=Demo+project+for+Spring+Boot&
packageName=com.kh.springboot&
type=gradle-project&
packaging=jar&
javaVersion=1.8&
language=java&
bootVersion=2.1.2.RELEASE&dependencies=lombok&
dependencies=h2&
dependencies=data-jpa&
dependencies=web
인터넷이 가능한 환경에서만 프로젝트 생성가능
@appliction.yml
application.properties파일을 사용하지 않음. 확장자 yml로 변경
Ctrl+space
통해서 사용가능한 명령어 확인가능.
yml파일 특징
yml? yaml?
key-value : :
로 key-value구분. 공백반드시 필요
들여쓰기로 부모-자식을 구분
spring.main.web-environment
은 deprecated
spring:
main:
web-application-type: SERVLET
# OpenType - WebApplicatoinType클래스에 enum중에 선택가능.
server:
port: 9999
프로젝트 root directory에서 build하기
(gradlewrapper.jar파일에 의해서 build됨)
gradlew.bat build
gradlew build
build/libs/springboot-0.0.1-SNAPSHOT.jar
파일 생성
이때, 결과물은 실행관련라이브러리 모두 포함된 fat.jar이다.
이를 압축해제해서 내용물 확인
unzip springboot-0.0.1-SNAPSHOT.jar
@META-INF/MANIFEST.MF
버젼
실행클래스 및 실행메소드 정의
Manifest-Version: 1.0
Start-Class: com.kh.springboot.SpringbootApplication
Main-Class: org.springframework.boot.loader.JarLauncher
배너변경하기
커스텀배너를 사용할 수 있다.
Using Custom Banners in Spring Boot
커스텀배너 제작 사이트
src/main/resources/banner.txt
파일로 저장할 것. build시에 자동으로 파일을 참조.
빈객체
DI 방법
Lombok 사용하기
최초 설치 필요함. lombook.jar를 실행해야함: cmd C:\dev\sts\sts-3.9.5.RELEASE\sts-3.9.5.RELEASE>java -jar lombok.jar
최초실행시 STS.exe에 대해 바인딩함.(STS.ini와 실행파일 경로에 lombok.jar복사됨.)
Lombok is not generating getter and setter
restart하지 말고, 아예 껏다 켜야함. ㅠㅜ
배포