on
스프링 부트 환경 설정
스프링 부트 환경 설정
분류 이름 버전 JDK OpenJDK 11 IDEA 인텔리제이 2021.2.2 (Ultimate Edition) 빌드 툴 Gradle 7.3.1 프레임워크 Spring Boot 2.6.1 Packaging Jar -
1.JDK11
https://jdk.java.net/java-se-ri/11
OracleJDK는 유료라 OpenJDK 사용.
다운로드 후 압축 파일 해제 후 바로 사용
로컬 경로 D:\dev\JAVA\jdk-11
2.인텔리제이
www.jetbrains.com
Admin개발할때는 PhpStorm, API 개발할때는 Eclipse를 사용해서 단축키도 다르고 사용법도 다 달라서 불편했음.
지나가는 말로 팀장님한테 건의했더니
왠일로 바로 회사에서 팀원 전체에게 All Products Pack을 사줌!!!ㅠㅠ
친구들한테 회사에서 인텔리제이도 안사주냐고 무시당했었던 지난 세월들...... 안녕
3.Gradle
빌드 툴은 Gradle사용.
기존에 Eclipse로 AWS Lambda로 API 개발할때는 Maven을 사용했는데, Gradle을 사용.
파일 : build.gradle
세팅 방법 : Spring Boot 프로젝트 생성할때 Gradle 선택하면 됨.
- Ant, Maven의 단점을 보완하고 장점을 취합해서 만든 오픈소스 빌드 툴.
- 스크립트 언어(JVM환경) 그루비 기반의 Domain Specific Language DSL 사용.
- 컴파일, 테스트 , 배포까지
- 외부 라이브러리 참조해서 자동으로 다운로드 , 업데이트 관리
장점
1. Maven에 비해 빠른 처리속도
2.멀티 프로젝트 빌드에 최적화 (코드 재활용)
3.간결한 구성
4.위상 / Task(gradle의 실행 작업 단위)를 사용하면 빌드 순서까지 제어 가능.
4. Spring Boot
4-1.프로젝트 생성
인텔리제이에서 New Project > Spring Initializr로 생성하거나 https://start.spring.io 에서 생성.
https://start.spring.io 프로젝트 구성
의존성 (Dependency) 추가
의존성 추가 후 프로젝트 생성하면
build.gradle 파일에 의존성이 추가되고
자동으로 라이브러리 다운됨.
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
4-2. Jar, War
Not War, Just Jar
Spring Boot는 WAS(톰캣)을 설치하지 않아도 실행 가능해서 Jar로 선택.
4-3프로젝트 - main클래스
프로젝트이름+Application 조합의 이름의 인 클래스 생성.
from http://primary.tistory.com/5 by ccl(A) rewrite - 2021-12-11 11:27:35