# 문제 상황.
- Spring의 버전을 여러가지로 써야하는 상황.
- Spring dependencies의 관리해야 하는 경우.
# 해결 방안.
- pom.xml의 properties를 사용하자.
# pom.xml 의존성을 버전을 properties에 기록하기
<!-- 각각 dependency의 버전을 각각 기록하게 해놓은 경우 -->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.28</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4-api</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
</dependencies>
# pom.xml properties에 사용하기
- Spring의 pom.xml에 dependency들의 버전을 properties에 기록.
- dependecy의 version에 정의한 버전을 ${사용할 버전} 가져다가 사용합니다.
<properties>
<!-- 자바 버전 -->
<java-version>1.8</java-version>
<!-- 스프링 버전 -->
<org.springframework-version>5.2.0.RELEASE</org.springframework-version>
<!-- 스프링 버전의 변경이 자유롭게 -->
<!-- <org.springframework-version>4.3.25.RELEASE</org.springframework-version> -->
<org.slf4j-version>1.7.28</org.slf4j-version>
<ch.qos.logback-version>1.2.3</ch.qos.logback-version>
</properties>
<!-- 프로젝트에서 사용할 라이브러리 정보 -->
<dependencies>
<!-- Spring Context -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${ch.qos.logback-version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4-api</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
</dependencies>
'[Spring]' 카테고리의 다른 글
[Spring기초] 모든 Bean이 생성 시 실행되는 메소드(BeanPostProcessor) - BeanLifeCycle (0) | 2019.10.12 |
---|---|
[Spring기초] 모든 Bean 생성, 종료 메소드 실행(default-init-method, defalut-destroy-method) (0) | 2019.10.11 |
[Spring기초] Bean 초기화, 종료 메소드 실행(init-method, destroy-method) (0) | 2019.10.11 |
[Spring기초] Bean 생성시점, 싱글톤 문제(lazy-init, scope) (0) | 2019.10.11 |
[Spring기초] bean 생성하기(XML로 생성) (0) | 2019.10.11 |