인텔리제이 얼티메이트 기준으로 작성
1. 프로젝트 만들기
(1)
JDK 17
Java 17 버전
(2) dependencies 설정
Lombok
Spring Web
JPA
MySQL Driver
Spring Security
2. 의존성 주입 (build.gradle)
dependencies {
// implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
// runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'
}
mysql connector j 와 starter-data-jpa 의존성은 실행 시 에러 발생할 수 있어 우선 주석 처리
3. Controller 2개 만들기
(1) AdminController
package com.jwt.springjwt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@ResponseBody
public class AdminController {
public String adminP() {
return "Admin Controller";
}
}
(2) MainController
package com.jwt.springjwt.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@ResponseBody
public class MainController {
@GetMapping("/")
public String mainP() {
return "Main Controlelr";
}
}
4. 시큐리티 실행 확인
이런 문구가 나오면 시큐리티 기본 설정 및 정상 실행 성공