스프링 Dependencies, 자동 구성

도람·2025년 6월 15일
post-thumbnail

스프링 이니셜라이저로 구성하기

전 포스트에서 인텔리제이 자체적으로 프로젝트를 만들고, 의존성을 설정을 하니 에러가 많이 생겼다.
따라서 스프링 이니셜라이저로 구성해보기로 했다.

스프링 이니셜라이저는, dependency를 처음에 검색을 통해 추가를 하고, 간단한 프로젝트 설정을 통해
간편하게 스프링 구성을 할 수 있게 해주는 도구이다.

Spring Initializr에 들어간다.

gradle, 각종 이름 설정, java version 설정을 해주고, dependency를 추가한다.

그리고나서, Explore에 들어가면, 다음과 같이 dependency 가 설정된 것을 확인할 수 있다.

스프링 Dependencies

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

build.gradle 파일에 들어가면, 다음과 같이 의존성 정보를 볼 수 있다.

그런 다음, IDE 오른쪽 [Gradle]> Dependencies > compileClassPath를 펼치면 web 스타터를 확인할 수 있다.

  • 스프링이 의존성을 갖고오는 방법:
    스프링은 현재 버전에 맞게 라이브러리를 알아서 관리하는데, 어떤 의존성을 관리하는지에 대해서는
    스프링 깃허브 에서 확인할 수 있다. Spring Github
    알고 싶은 의존성을 클릭한 후 ,build.gradle 파일을 확인하면 알 수 있다.

자동 구성

  • 스프링 부트에서는 애플리케이션이 최소한의 설정으로도 실행되게 여러 부분을 자동으로 구성한다.

  • 추후 개발을 하다 스프링이 자동으로 설정한 부분을 어떻게 구성했는지 확인할 때에는 이것을 확인하면 된다.

  • 자동 설정은 META-INF에 있는 spring.factories 파일에 담겨있다.

    • 돋보기를 누르고 spring-boot-autoconfigure/spring.factories를 입력해 첫 번째 파일을 선택한다.


    그럼 다음과 같이 설정 파일이 나오는데,

    • External Libraries를 펼쳐 spring-boot-autoconfigure: "" 를 찾는다.
      파일을 열어 h2를 펼쳐서 확인하면, 자동 구성되는 클래스는 AutoConfiguation, 속성값을 정의해놓은 클래스는 Properties를 이름 끝에 붙였음을 확인할 수 있다.
    • 이렇게 스프링에서는 빈이 자동으로 등록되고 구성된다.
       

해당 글은 다음 도서의 내용을 정리하고 참고한 글임을 밝힙니다.
신선영, ⌜스프링 부트 3 벡엔드 개발자 되기 - 자바 편⌟, 골든래빗(주), 2023, 384쪽

profile
정도를 걷는 엔지니어

0개의 댓글