본 게시물은 인프런에서 백기선님의 스프링 부트 개념과 활용 강좌를 보고 스스로 보기 쉽게 정리한 글입니다.
1. 스프링 부트의 의존성 관리
스프링 부트의 pom.xml을 보면 <dependency> 항목에서 따로 의존성으로 추가할 목록의 버전 등을 명시 안해줘도 알아서 의존성이 서정되는데 그게 바로 spring dependency 덕분이다. 이는 spring-boot-starter-parent를 타고 들어가 spring-boot-dependencies 파일에 보면 정리되어 있다.
그러므로 의존성 관련 부분을 작성할 때는 pom.xml에다가 spring-boot-starter-parent에 적혀있는 것 기준으로 작성하면 된다. 그 안에 정의되어 있는 걸 하나라도 쓰게 되면 우리가 나머지를 직접 명시하지 않아도 알아서 필요한 것들을 찾아서 사용한다.
dependencies를 확인하는 방법
우측 탭을 누르면 Dependencies 항목에서 확인이 가능하다. Spring boot에서 이런 식으로 의존성을 정의해왔기 때문에 알아서 수많은 라이브러리들을 불러올 수 있다. 덕분에 우리가 관리해야 할 의존성이 줄어들고, 이는 우리가 할 일이 줄어드는 것과 같은 의미가 된다. 하지만 pom에서 지원안하는 걸 사용하고 싶다면 작성시 버전까지 명시해야 하고, 그게 아니더라도 특별히 사용하고 싶은 버전이 있다면 dependency를 적을 때 버전을 적어주면 작성한 버전이 적용 된다.
parent pom을 쓰지 않고 사용하는 방법은?
1. pom.xml에서 <parent></parent> 사이에 넣어놓은 parent의 값으로 spring-boot-starter-parent를 넣어보면 된다.
2. <dependencyManagement>라는 element를 사용하면 된다.
하지만 2번을 사용할 경우에는 여러가지 기본적으로 세팅된 기능까지 사용못할 수도 있으므로 1번 방법을 조금 더 추천하는 바다.
2. 의존성 관리 응용
1. 버전 관리 해주는 의존성 추가
직접 <dependency> 내용을 적어주기
1
2
3
4
|
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
|
cs |
이런 식으로 적어주면 된다. (상기 코드는 기본적으로 적혀있는 부분이지만!)
2. 버전 관리 안 해주는 의존성 추가
maven에서 사용하는 라이브러리 중 하나를 검색해서 넣는다고 가정하면, 사이트를 찾았을 때 추가해야 할 소스 코드가 나오는데 이를 복사 붙여넣기 하면 1번에서의 코드와 거의 비슷하지만 <version> element가 추가된다. 보통 이렇게 추가하면 인텔리제이 기준으로 빨간색으로 표시가 되는데 이는 spring-boot내에서 버전 관리를 해주지 않는 라이브러리라는 뜻이다. 때문에 알아서 버전을 추가해줘야 한다.
3. 사용하고 있는 라이브러리의 버전을 바꾸는 방법
spring-boot-dependencies파일에서 버전 적용 방법 같이 생긴 걸 확인한 다음 properties를 추가해서 오버라이딩 해주면 된다.
1
2
3
|
<properties>
<spring.version> 5.0.6 RELEASE </spring.version>
</properties>
|
cs |
상단은 spring의 버전을 바꿔주는 예시다.
'CS > Spring' 카테고리의 다른 글
[스프링 프레임워크 핵심기술] IoC 컨테이너 #1 (0) | 2020.08.05 |
---|