ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 001. VSCode - 환경 설치 & 구성
    개발환경 (IDE) & 환경설정/Spring 설치 & 구성 2025. 4. 30. 23:30

    1. Java Extension Pack 설치 (당연히 JAVA JDK 17 / 21 별도 설치는 필수)

    → Java 개발에 필요한 도구 다 들어 있음

     

    2. Spring Boot ExtensionPack 설치

    이거 하나만 설치하면, Spring Boot Tools, Spring Boot Dashboard, Spring Initiallizer 3종 세트로 깔림. (참고)

     

    3. Gradle 설치 (빌드 자동화 도구)

     

    https://gradle.org/releases/

     

    Gradle | Releases

    Find binaries and reference documentation for current and past versions of Gradle.

    gradle.org

    최신 버전 -> binary-only 클릭하여 압축파일 다운로드 (mac은 homebrew로 설치 가능)

    본인이 원하는 경로에 폴더를 배치함. 
    환경변수 -> GRADLE_HOME 생성 : [본인의 Gradle 절대경로], Path -> %GRADLE_HOME%\bin 추가

    gradle -v 으로 설치되었는지 확인.

     

    4. Spring 환경 구성 후 Generate하여 Download

    의존성(Dependencies) 부분 잘 선택하여 생성하자. (최초 1인만 뼈대 만들면 됨.)

    -> 깃허브에서 1명이 이미 만들었을 경우 굳이 뼈대를 생성할 필요는 없다. (Git Clone해서 가지고 오자.)

    이제 VsCode에서 Open Folder 해당 폴더를 열면 된다.

    열면 초기 빌드가 구성되는데  좀만 기다려주자. 

    5. build.gradle 셋팅

    plugins {
    	id 'java'
    	id 'org.springframework.boot' version '3.4.5'
    	id 'io.spring.dependency-management' version '1.1.7'
    }
    
    group = 'com.aptalk'
    version = '0.0.1-SNAPSHOT'
    
    java {
    	toolchain {
    		languageVersion = JavaLanguageVersion.of(21)
    	}
    }
    
    configurations {
    	compileOnly {
    		extendsFrom annotationProcessor
    	}
    }
    
    repositories {
    	mavenCentral()
    }
    
    dependencies {
    	// === [Spring Boot 스타터] ===
    	implementation 'org.springframework.boot:spring-boot-starter-web'                 // 기본 웹 MVC
    	implementation 'org.springframework.boot:spring-boot-starter-websocket'           // 웹소켓 기능
    	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'           // 타임리프 템플릿 엔진
    	implementation 'org.springframework.boot:spring-boot-starter-validation'          // Bean 유효성 검사 (javax.validation)
    	implementation 'org.springframework.boot:spring-boot-starter-security'            // Spring Security (인증/인가)
    
    	// === [JPA + MySQL] ===
    	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'            // Spring Data JPA
    	runtimeOnly 'com.mysql:mysql-connector-j'                                         // MySQL 드라이버
    
    	// === [Thymeleaf + Spring Security 연동] ===
    	implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'           // 타임리프에서 security 태그 사용
    
    	// === [JWT 토큰 인증] ===
    	implementation 'io.jsonwebtoken:jjwt-api:0.11.5'                                   // JWT API
    	runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'                                     // JWT 구현체
    	runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'                                  // JWT JSON 변환기 (jackson 사용)
    
    	// === [Lombok] ===
    	compileOnly 'org.projectlombok:lombok'                                            // 롬복 (컴파일 시)
    	annotationProcessor 'org.projectlombok:lombok'                                    // 롬복 어노테이션 프로세서
    
    	// === [개발 편의] ===
    	developmentOnly 'org.springframework.boot:spring-boot-devtools'                   // 개발 시 핫 리로드 등
    
    	// === [테스트] ===
    	testImplementation 'org.springframework.boot:spring-boot-starter-test'           // 테스트 전용 스타터
    	testImplementation 'org.springframework.security:spring-security-test'           // 시큐리티 테스트 도구
    	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'                     // JUnit 런처
    }
    
    tasks.named('test') {
    	useJUnitPlatform()
    }

     

    6. application.properties 셋팅 (Github)

     

Designed by Tistory.