Spring Initializr 에는 더이상 2.X 대 생성이 없다보니,
아직 3.X는 미루고 있는 상황에서 gradle 이나 모듈화를 공부 할 좋은 기회가 됐다고도 생각(?..)으로 직접 gradle 을 세팅해보다,
사실 그렇게 복잡하지도 않다는 생각으로 간략히 정리해 봅니다.
복잡하고, 자세히 알아야 하는 부분들은 알려주시면 감사하겠습니다. 🧡
intellij Ultimate 기반으로 작업 합니다.
(Community 버전만 사용했던 경험으로 알게 모르게 작은 부분들에서 헤맸었어서, 다를 수도 있을 거 같습니다.)
intellij도 버전마다 차이 있는 걸 요즘 많이 느끼는 데요. (-_-)
사실, 개인적으로 최신 버전은 멈춤 현상도 잦아서 버전을 낮추기도 했었던 경험으로 개인적으로 권장하지 않기도 하며, 차이가 있을 수 있습니다.
File > New > Project
New Project
에서 Name 부분만 설정 해서 create
합니다.모듈화 기반으로 가장 최상위 모듈설정 예시 입니다.
모듈화가 아닌 경우 해당 build.gradle 에 모든 dependency를 추가하시면 됩니다.
SpringBoot 공식 사이트에서 (2023.01.01 기준) GA
로 2.X 대 버전으로 2.7.18이길래 참고해서 작업 했습니다.
build.gradle의 기본 frame 인데요.. 정말 기본적입니다. ㅎㅎ
buildscript {
dependencies {
}
}
plugins {
}
compileJava {
sourceCompatibility = 17
targetCompatibility = 17
}
apply plugin: 'java'
apply plugin: 'java-library'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'org.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
}
test {
useJUnitPlatform()
}
해당 모듈 정상 동작하는지 간단히 확인 해 봅니다.
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
그 외 모듈화로 bootJar 등 추가 할 수 있는데, 이 부분은 다른 블로그 등을 참고해 주세요. (-_- 배포시 달라질 수도 있어서 ㅎㅎㅎㅎㅎ 전 아직 부족한게 많은 거 같습니다. 개인프로젝트로 급하시면 그냥 프로세스 다 돌리세요 ㅎㅎㅎㅎ 비밀..)
프로젝트명에서 마우스+우 클릭
Open Module Settings > Project Settings > Modules
+
버튼을 클릭 > New Module 로 하위 모듈을 생성 합니다.
생성된 해당 모듈의 오른 쪽에 Sources, Paths, Dependencies 등
정리?
src
를 사용하지 않는다면 삭제 하셔도 됩니다. 앞서 확인 했던 방식으로 스프링 애플리케이션 클래스와 간단한 컨트롤러로 동작 확인 하면 됩니다.
자세하게 라이브러리 별로 설명하지 않았는데요.
여러 테스트 해보면서 확인 해보시면 된다고 생각 했습니다.
처음에 gradle, 모듈화 구조, 아키텍처 ..
이렇게 가다가 계속 가고(?)
배포 환경에서 달라지기도 하고, 공부할 건 늘어나고 그랬는데요,
간략히 모듈화 방식만 익혀 두고, 천천히 필요한 부분들만 추가 해보는 게 좋다는 생각이 들었습니다.
제가 간략히 확인하려 남겨둬서 부족한 부분이 많더라도 양해 부탁드립니다.
감사합니다.
springboot 3.X 버전에서 몇 가지 차이점들 추가 해 봅니다.
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0'
reference. springboot v3.3.2
: Managed Dependency Coordinates
참고 사이트
그 외, 참고 사이트