이전 대시보드 프로젝트를 할 때는 nestJS로 백엔드를 해봤기 때문에 이번에는 JAVA로 백엔드 프로젝트를 경험해보고자 새로 ShowMyCNFT라는 를 시작하려 합니다. 최종 구상은 SSO로 로그인 한 뒤, 지갑연결을 통해 본인의 NFT를 인증하고 자랑할 수 있는 CNFT갤러리 사이트를 만드는 것입니다.
build.gradle.kts 파일을 아래와 같이 변경해줍니다.
plugins {
java
id("org.springframework.boot") version "3.0.5"
id("io.spring.dependency-management") version "1.1.0"
}
group = "com.showmycnft"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
//implementation("org.springframework.boot:spring-boot-starter-data-jpa")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
tasks.test {
useJUnitPlatform()
}
처음에 JPA 종속성 주입을 할 경우
Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
또는
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':bootRun'. Process 'command '/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
에러가 나오니 주석처리할 것
SpringBoot 공식홈페이지
SpringBoot 초기설정
$ curl -s "https://get.sdkman.io" | bash
$ source "/Users/Junghan/.sdkman/bin/sdkman-init.sh"
$ sdk install gradle
Main.java파일을 변경해줍니다.
package com.showmycnft;
// Press ⇧ twice to open the Search Everywhere dialog and type `show whitespaces`,
// then press Enter. You can now see whitespace characters in your code.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
PS.Depedencies가 빨간 밑줄이 뜰때
- Gradle을 refresh 해줘야합니다.
- 상단 메뉴바 View > Tool Windows > Gradle에 들어가면
우측에 새로운 윈도우가 생성됩니다.- 여기서 프로젝트명을 우클릭하여
Refresh Gradle Dependencies
를 누르고 기다리면 정상적으로 적용됩니다.
$ gradle bootRun