Spring/SpringBoot

SpringBoot 프로젝트 환경설정

느리지만 꾸준하게 2022. 3. 29. 23:07

여기를 들어가서 생성해보자. 초기세팅은 아래와 같이 해주고

 

Dependencies에서 WebApplication을 만들때 필요한 Web Starter설치

 

JSP를 쓰는 대신 Thymeleaf(A modern server-side Java template engine)를 쓰자.

 

JSP는 성능이슈 때문에 거의 안쓰는 추세 / SpringBoot 내장 tomcat에서도 권장하지 않는다.

Sprimg Data JPA도 설치를 해준다.(나중에 JPA에 대해서 자세히 알아보고 Spring Data JPA는 도움용으로 쓰는 것으로 알고있자.) 

 

DB는 H2 DB를 쓴다. 개발 / 테스트 할 때 많이 쓴다.

MySQL 같은 경우는 설치하고 세팅하는 과정이 까다롭지만 H2는 웹어플리케이션 실행할 때 데이터베이스를 메모리상태에서 내장해서 실행할 수도 있기 때문에 교육용으로 많이 쓴다.

 

lombok도 설치를 해준다.(반복되는 코드를 줄여줌. ex) java에서 getter / setter ) 간단한 어노테이션 하나로 작업을 줄여주는 역할을 한다.

Generate해서 생성을 해주고 IntelliJ로 프로젝트 폴더를 열어서 build.gradle파일을 열어주자.(Open as Project)

spring-boot-starter라는 것을 받으면  build.gralde파일에 아래와 같이 생성된다.

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-devtools'

lombok에 관해서도 Preference에서 검색해보자.

lombok 플러그인을 깐 후에 Preferences에서 Annotation Processors를 검색한 후에 enable annotation processing을 체크해준다.

 

롬복이 동작하는지 테스트를 하기위해 Hello 클래스를 만들어주고

(getter, setter을 따로 만들 필요없이 롬복을 하면 자동으로 Getter / Setter를 만들어준다)

// Hello Class

package jpabook.jpashop;

import lombok.Getter;
import lombok.Setter;

@Getter@Setter
public class Hello {
    private String data;
}

기존에 있는 JpashopApplication에서 아래와 같이 작성해준다.

// JpashopApplication

package jpabook.jpashop;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class JpashopApplication {

	public static void main(String[] args) {

		Hello hello = new Hello();
		hello.setData("hello");
		String data = hello.getData();
		System.out.println("data = " + data);

	}

}

Hello을 실행시켜보면 아래와 같이 뜨게 된다.

 

 

 

 

<출처 김영한: 실전! 스프링 부트와 JPA 활용1 - 웹 어플리케이션 개발 >

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1/dashboard

 

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의

실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강

www.inflearn.com