https://wiken.io/ken/12221

1강
https://start.spring.io/
Start.spring.io 사이트에 가서
Gradle-Groovy
Language-Java
Springboot(ver) - 3.0.6
Packaging - Jar
Java - 17버전
===Add Dependencies===
Spring Web
Lombok
Spring Boot DevTools
Thymeleaf
H2 Database

인텔리제이 상에서 해당 폴더 열어보고(정상적으로 되면 막 뭐가 설치될거임)
빌드, 실행, 배포 >> 컴파일러 >> 프로젝트 자동 빌드 체크
맨 밑에 고급설정 >> 컴파일러 >> 개발된 애플리케이션이 현재 실행 중인 경우에도 auto-make가 시작되도록 허용

(버전이슈로 설치가 어려울 시 차선책)
https://www.oracle.com/java/technologies/downloads/#jdk17-windows
가서 JDK 17 새로 받기.
[https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.msi ( sha256)](https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.msi ( sha256))

-JSP(Java Servlet Page)
(깡통)
(구조)
(설정)
-Spring
(설정)
-Spring Boot(네카라쿠배에서 트랜드임.)
(다필요없음)
(구조 자동화 Spring에도 구조와 자동화가 잘 되어있지만 Boot에 와서 더 잘 되어있다.)
스프링부트가 나오고 봄이왔다 라고 할 정도로 좋다.(3.0.6버전이 최신..?)

http://localhost:8000/sbb

package com.example.sbb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MainController {
    @ResponseBody
    @GetMapping("/sbb")
    public String index () {
        return "안녕하소";
    }
}

http://localhost:8000/hello

package com.example.sbb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    @ResponseBody
    @GetMapping("/hello")
    public String hello () {
        return "안녕하소";
    }
}

lombok 활용

package com.example.sbb;

import lombok.Getter;
import lombok.Setter;
import org.springframework.stereotype.Controller;

@Controller
@Getter // 롬복의 내장기능인 Getter(getter를 자동으로 만들어준다)
@Setter // 롬복의 내장기능인 Setter(setter를 자동으로 만들어준다)
public class HelloLombok {
    private String Hello; // 롬복에 의해서 호출당한 String Hello
    private int lombok; // 롬복에 의해서 호출당한 int lombok
    public static void main(String[] args) {
        HelloLombok hellolombok = new HelloLombok();
        hellolombok.setHello("헬로"); // 롬복처리한 변수를 setter로 셋팅
        hellolombok.setLombok(50); // 롬복처리한 변수를 setter로 셋팅

        System.out.println(hellolombok.getHello()); // 롬복처리한 변수를 getter로 호출
        System.out.println(hellolombok.getLombok()); // 롬복처리한 변수를 getter로 호출
    }
}

INSEONG@DESKTOP-AJIA4K0 MINGW64 ~/Desktop/sbb (main)
$ cd ~

INSEONG@DESKTOP-AJIA4K0 MINGW64 ~
$ touch local.mv.db

INSEONG@DESKTOP-AJIA4K0 MINGW64 ~
$ 

이후

다음과 같이 H2 데이터베이스를 설치하자.

[파일명: /sbb/build.gradle]

(... 생략 ...)

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
}

(... 생략 ...)
그리고 "Refresh Gradle Project"를 실행하여 필요한 라이브러리를 설치하자.

점프 투 스프링부트
runtimeOnly
build.gradle 파일의 runtimeOnly는 해당 라이브러리가 런타임(Runtime)시에만 필요한 경우에 사용한다. 컴파일(Compile)시에만 필요한 경우에는 runtimeOnly 대신 compileOnly를 사용한다.

설치한 H2 데이터베이스를 사용하기 위해서는 설정을 해야 한다. 다음과 같이 application.properties 파일을 수정하자.

현재 application.properties 파일에는 아무런 내용이 없을 것이다.

[파일명: /sbb/src/main/resources/application.properties]

DATABASE

spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:~/local
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
각각의 항목에 대해서 알아보자.

spring.h2.console.enabled - H2 콘솔의 접속을 허용할지의 여부이다. true로 설정한다.
spring.h2.console.path - 콘솔 접속을 위한 URL 경로이다.
spring.datasource.url - 데이터베이스 접속을 위한 경로이다.
spring.datasource.driverClassName - 데이터베이스 접속시 사용하는 드라이버이다.
spring.datasource.username - 데이터베이스의 사용자명이다. (사용자명은 기본 값인 sa로 설정한다.)
spring.datasource.password - 데이터베이스의 패스워드이다. 로컬 개발 용도로만 사용하기 때문에 패스워드를 설정하지 않았다.
그리고 spring.datasource.url에 설정한 경로에 해당하는 데이터베이스 파일을 만들어야 한다. 위에서 spring.datasource.url을 jdbc:h2:~/local 로 설정했기 때문에 사용자의 홈디렉터리(~ 에 해당하는 경로) 밑에 local.mv.db 라는 파일을 생성해야 한다. 만약 jdbc:h2:~/test라고 설정했다면 test.mv.db 라는 파일을 생성해야 한다.

사용자의 홈디렉터리는 윈도우의 경우에는 C:\Users(사용자명) 이고 맥OS의 경우에는 /Users/(사용자명) 이다. 본인이 사용하는 OS에 맞는 홈디렉터리에 local.mv.db 파일을 생성하자. 파일은 내용 없이 빈파일로 생성한다.

점프 투 스프링부트
맥 OS에서 local.mv.db 파일 생성하기
pahkey@mymac ~ % touch local.mv.db
여기까지 마무리 되었으면 이제 H2 콘솔을 통해 데이터베이스에 접속할 수 있다. 브라우저에서 다음의 URL 주소로 H2 콘솔에 접속해 보자.

http://localhost:포트넘버/h2-console
그러면 다음과 같은 H2 콘솔화면을 볼수 있다.

한국어를 지원하기 때문에 언어 설정을 "한국어"로 설정할수 있다.

콘솔 화면에서 JDBC URL 경로를 application.properties 파일에 설정한 jdbc:h2:~/local로 변경하고 "연결" 버튼을 눌러보자.

그러면 다음과 같이 접속된 화면을 볼수 있다.

https://wikidocs.net/160024
2-01~2-03 까지 진행함

profile
문제 해결을 위해 끊임없이 파고드는 걸 좋아합니다.

0개의 댓글