-
[Spring boot / IntelliJ ] 스프링 부트 프로젝트 환경 설정Spring boot 2021. 12. 11. 11:16반응형
분류 이름 버전 JDK OpenJDK 11 IDEA 인텔리제이 2021.2.2 (Ultimate Edition) 빌드 툴 Gradle 7.3.1 프레임워크 Spring Boot 2.6.1 Packaging Jar - 템플릿 엔진 Thymeleft 1.JDK11
https://jdk.java.net/java-se-ri/11
OracleJDK는 유료라 OpenJDK 사용.
다운로드 후 압축 파일 해제 후 바로 사용2.인텔리제이
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 에서 생성.GroupId : 회사 이름 , 패키지의 이름으로 사용됨.
ArtifactId : 프로젝트의 종류, Application 이름, 웹서비스 이름GroupId : 회사 이름 > 패키지의 이름으로 사용됨.
ArtifactId : 프로젝트의 종류, Application 이름, 웹서비스 이름
의존성 추가 후 프로젝트 생성하면
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'윈도우에서 dependency 확인
C:\Users\USER\.m2\repository\
C:\Users\USER\.m2\repository\org\springframework4-1-1) thymeleaf
웹 또는 독립적인 실행환경에서 사용되는 자바 서버 사이드 템플릿 엔진.
스프링 부트의 공식적인 템플릿 엔진
스티터 지원.4-2. Jar, War
"Not War, Just Jar"
WAS(톰캣)는 War로 패키징이 필요한데,Spring Boot는 Embedded Tomcat이 있어서 .Jar로 패키징 가능.
War : 스프링부트 프로젝트가 다른 웹애플리케이션 서버에 배포할 경우
Jar : 독립적인 임베디드된 어플리케이션 서버를 사용할 경우4-3. 프로젝트 - main클래스
프로젝트이름+Application 조합의 이름의 인 클래스 생성.
반응형'Spring boot' 카테고리의 다른 글
[spring boot] This connection is using TLSv1.1 which is now deprecated and will be removed in a future release of Connector/J. (0) 2021.12.22 [Spring boot / IntelliJ] Gradle (0) 2021.12.18 [Spring boot / IntelliJ ] 환경 프로퍼티 파일 application.yml 설정 (0) 2021.12.18 스프링, 스프링 부트, 스프링 부트 스타터 (0) 2021.12.11