Spring

Spring framework 프로젝트 설정 part1. 프로젝트 생성

RE.YEOL 2023. 4. 19. 10:00

 

💡 환경
    PC: MacBoock Pro (16-inch, 2021)
    OS: macOS Ventura Version 13.3.1
    CPU: Apple M1 Pro
    Memory: 16GB
💡 프로젝트 환경
   Spring framework 6.0.8

프로젝트 생성

Spring boot 사용이 증가함에 따라 Intellij에서 Spring framework 생성이 없어졌습니다.

따라서 Spring framework 프로젝트를 생성하기 위해 New Projectframework를 하나씩 설정해야 합니다.

Build는 Maven이 아닌 Gradle로 설정하며 Gradle DSL은 Groovy를 선택하였습니다.

Spring 라이브러리 추가

Spring Boot는 기본적으로 내장 Tomcat을 사용하지만 Spring은 외장 WAS를 별도로 구축해야 합니다. 

따라서 추후 배포 시 jar 방식이 아닌 war방식으로 배포해야 합니다.

war방식 설정을 위해 build.gradle에 plugins에 war를 추가합니다.

plugins {
    id 'java'
    id 'war'
}

Spring 관련 라이브러리를 추가하기 위해 dependencies에 spring-webmvc와 servlet-api 라이브러리도 같이 추가하였습니다.

dependencies {

    // spring 관련 라이브러리
    implementation "org.springframework:spring-webmvc:6.0.8"
    
    // servlet api 라이브러리
    compileOnly "jakarta.servlet:jakarta.servlet-api:6.0.0"

}

Spring 구성 미리보기

Servelt 3.0 이후부터 web.xml 없이 WebApplicationInitializer인터페이스의 상속받아 구현가능합니다.

이때 onStartup 메소드를 오버라이드 하는데 여기서 ServletContext를 사용하고 있습니다.

package org.example.config;

import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import org.springframework.web.WebApplicationInitializer;

public class WebInit implements WebApplicationInitializer {


    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
		...
    }
}

xml 방식으로 Spring을 구성하는 것이 아닌 java config 방식으로 구현 할 예정입니다.