Spring Boot

IntelliJ/Spring Boot 인텔리제이 세팅

위한1214 2022. 8. 23. 18:06

 

인텔리제이로 스프링 부트를 세팅하자.

 

 

Projects 탭에서 오른쪽 상단의 New Project 버튼을 클릭한다.

 

 

 

Generators에서 Spring Initializer를 클릭하고

Name프로젝트명, Location프로젝트를 저장할 위치, Language언어, Type타입, JDK, Java자바 버전, Packaging패키징 타입을 선택한다.

 

 

나는 자바로 개발할 것이니 언어는 Java를 클릭하고,

 

타입은 Gradle로 선택했다.

Maven은 보통 스프링 프로젝트에서 pom.xml로 쓰고,

Gradle은 스프링 부트, 안드로이드에서 주로 쓴다.

Maven과 Gradle의 차이를 설명한 글을 첨부한다.

https://hyojun123.github.io/2019/04/18/gradleAndMaven/

 

Maven과 Gradle의 차이

Maven vs Gradle 우선 둘의 차이를 알기위해 각각 알아보았다. Maven같은경우는 스프링프로젝트에서 pom.xml이란 이름으로 쓰고, Gradle은 스프링부트, 안드로이드에서 쓰는걸로 알고있다. 처음에 단순히

hyojun123.github.io

 

JDK는 Download JDK를 눌러 다운로드하거나. Add JDK로 컴퓨터에 다운받아둔 jdk를 가져오면 된다.

 

 

JDK 다운로드와 환경변수 설정과 관련해 작성한 글을 첨부한다.

2022.08.23 - [Spring Boot] - JAVA/JDK 1.8 설치 및 환경 변수 설정

 

나는 jdk를 1.8 버전으로 다운받았기 때문에 java도 8버전으로 선택했다.

 

패키지는 컴파일 된 .class의 모임이고, 그 패키지를 압축한 파일의 타입이 Jar와 War이다.

jar는 JDK가 실행시켜 준다. 내부적으로 톰캣을 가지고 있기 때문이다.

jar는 자바 실행 파일이다. JAVA로 프로그램을 만들면 .jar 파일로 저장해야 한다. 이게 최종 배포 파일이 된다.

아래에 jar와 war의 차이에 대해 설명한 글을 첨부하겠다.

https://ifuwanna.tistory.com/224

 

[Java] JAR WAR 차이점 및 특징 ( + EAR )

JAR (Java Archive) WAR (Web Application Archive) 모두 JAVA의 jar 툴을 이용하여 생성된 압축(아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 있도록 관련 파일(리소스, 속성파일 등).

ifuwanna.tistory.com

 

Next 버튼을 클릭하면 스프링부트 버전과 라이브러리를 선택하는 창이 뜬다.

 

 

'Download pre-built shared indexes for JDK and Maven libraies'를 체크하면 인텔리제이가 알아서 선택한 라이브러리를 다운로드 해 준다.

내가 선택한 라이브러리는 다음과 같다.

 

Developer Tools

  • Spring Boot DevTools
  • Lombok

Web

  • Spring Web

Template Engines

  • Mustache

Security

  • Spring Security

SQL

  • Spring Data JPA
  • MariaDB Driver

I/O

  • Validation

 

선택한 라이브러리들을 간단히 설명하겠다.

 

Spring Boot DevTools는 스프링 부트에서 제공하는 개발 편의를 위한 모듈이다.

브라우저로 전송되는 내용에 대한 코드가 변경되면 자동으로 어플리케이션을 재시작하여 브라우저에도 업데이트 해 준다.

아래의 글을 참고하자.

https://velog.io/@bread_dd/Spring-Boot-Devtools

 

Spring Boot Devtools 알아보기

Spring Devtools에 대해 알아보았습니다.

velog.io

 

Lombok은 getter가 있는 라이브러리다.

아래의 글을 참고하자.

https://dololak.tistory.com/783

 

[JAVA] Lombok이란? Lombok 적용하는 방법

Lombok이란? Lombok 이클립스에 적용하는 방법 Lombok(롬복)은 Java 라이브러리로 반복되는 getter , setter , toString  등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다. 보통 Model 클래스

dololak.tistory.com

 

Spring Web은 디스패쳐 서블릿을 자동으로 만들어 준다.

경로 이동 시스템이 내부에 이미 완성되어 있어 어노테이션만 공부하면 된다.

리플렉션 기법을 사용해 어노테이션을 찾는다.

 

Mustache

머스태치는 템플릿 엔진이다. 템플릿 엔진은 html에 자바 코드를 섞을 수 있게 하는 jsp와 같은 것을 말한다.

아래의 글을 참고하자.

https://velog.io/@nyong_i/%EB%A8%B8%EC%8A%A4%ED%85%8C%EC%B9%98Mustache%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

머스테치(Mustache)란 무엇인가 ?

머스테치

velog.io

 

Spring Security는 보안을 담당하는 스프링 하위 프레임워크다. 스프링 세큐리티에서 보안과 관련된 많은 옵션을 제공해주기 때문에 이를 사용하면 보안 관련 로직을 일일이 작성하지 않아도 된다.

아래의 글을 참고하자.

https://mangkyu.tistory.com/76

 

[SpringBoot] Spring Security란?

대부분의 시스템에서는 회원의 관리를 하고 있고, 그에 따른 인증(Authentication)과 인가(Authorization)에 대한 처리를 해주어야 한다. Spring에서는 Spring Security라는 별도의 프레임워크에서 관련된 기능

mangkyu.tistory.com

 

Spring Data JPA는 JPA를 추상화시킨 Repository Interface를 제공하여 개발자가 JPA를 더 편하게 사용할 수 있도록 하는 모듈이다.

아래의 글을 참고하자.

https://velog.io/@evelyn82ny/JPA-vs-Spring-Data-JPA

 

JPA와 Spring Data JPA의 차이

JPA의 핵심인 EntityManager를 통해 Entity CRUD를 처리하며 EntityManager와 EntityManagerFactory는 라이브러리로 존재한다. 하지만 EntityManager를 직접 작성하는 경우는 거의 없고, 주로 Repository int

velog.io

 

Validation은 데이터의 값이 유효한지 검사한다.

아래의 글을 참고하자.

https://lotuus.tistory.com/64

 

Spring Validation 정리

목차 Validation : 데이터 검사 Validation이란 데이터의 값이 유효한지 검사하는 것이다. 유효성검사를 통해 올바르지 않은 데이터가 서버로 전송되거나, DB에 저장되지 않도록 한다. 의존성 설정 sprin

lotuus.tistory.com

 

 

Create 버튼을 누르면 프로젝트가 생성된다.

 

 

이하는 참고 글

 

https://jaewon2336.tistory.com/223

 

스프링 4강. 스프링부트 vscode 세팅

spring을 검색하고 Gradle Project 클릭 스프링 프레임워크의 버전을 선택한다. SNAP SHOT 버전은 안정적이지 않은 버전을 말한다. stable이라고 적혀있든지, 아무것도 적혀있지 않은 안정적인 버전을 사

jaewon2336.tistory.com

 

'Spring Boot' 카테고리의 다른 글

Spring/applicaion.yml 설정 파일  (0) 2022.08.25
프로젝트 구조  (0) 2022.08.25
Gradle 그레이들이란?  (0) 2022.08.24
JAVA/JDK 1.8 설치 및 환경 변수 설정  (0) 2022.08.23