인텔리제이 얼티메이트 기준으로 작성

 

 

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. 시큐리티 실행 확인

 

이런 문구가 나오면 시큐리티 기본 설정 및 정상 실행 성공