Spring Boot 프로젝트 에 외부 Jar 패키지 추가 및 다 중 데이터 원본 설정 전체 절차

6022 단어 springboot외부jar
머리말
최근 프로젝트 는 Oracle 데이터베이스 와 상호작용 을 해 야 합 니 다.그리고 Maven 중앙 창고 에서 데이터 베 이 스 를 다운로드 하여 jar 가방 을 구동 해 야 합 니 다.그런데 아무리 해도 내 려 올 수 없습니다.제 가 Oracle 홈 페이지 에 가서 보 니 Maven 으로 직접 내 려 가지 못 하 게 했 습 니 다.(대학 때 Oracle 을 사용 한 적 이 있 습 니 다.아주 오래된 일 인 0rz)어 쩔 수 없 이 jar 가방 을 직접 다운로드 해서 제 프로젝트 에 넣 겠 습 니 다.SpringBoot 프로젝트 가 외부 jar 패 키 지 를 도입 하 는 것 은 매우 편리 하 며,외부 jar 를 도입 하 는 등 작업 을 포함 합 니 다.
나의 방법 은 다음 과 같다.
우선 src 동급 디 렉 터 리 에 lib 폴 더 를 만 들 고 제3자 jar 패 키 지 를 이 파일 에 넣 습 니 다.예 를 들 어 저 는 ojdbc 6.jar 라 는 jar 패 키 지 를 이곳 에 두 었 습 니 다.
이 어 pom.xml 파일 에 jar 의 maven 좌 표를 설정 해 야 합 니 다.그러나 이 좌 표 는 비교적 특수 합 니 다.Maven 창고 에서 다운로드 하 는 것 이 아니 라 이전 단계 에 추 가 된 파일 로 직접 찾 아야 합 니 다.ojdbc 6.jar 를 예 로 들 면 설정 은 다음 과 같 습 니 다.

<dependency>
 <groupId>com.oracle</groupId>
 <artifactId>ojdbc6</artifactId>
 <version>12.1.0.2.0</version>
 <scope>system</scope>
 <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
여기 서 비교적 특별한 것 은 systemPath 입 니 다.흔히 볼 수 있 는 Maven 좌 표 는 이것 이 없습니다.이 안 에는 이 jar 의 상대 경로(상대 항목 의 루트 디 렉 터 리)를 직접 지정 합 니 다.그러면 Maven 은 컴 파일 할 때 중앙 창고 에서 이 jar 가방 을 다운로드 하지 않 습 니 다.그러나 이것 만 설정 하면 안 됩 니 다.SpringBoot 컴 파일 시 플러그 인 속성 includeSystem Scope 를 설정 해 야 합 니 다.구체 적 으로 다음 과 같 습 니 다.

<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 <configuration>
 <includeSystemScope>true</includeSystemScope>
 </configuration>
</plugin>
위 설정 이 완료 되면 뮤 직 비디오 clean install 을 직접 실행 하여 포장 할 수 있 습 니 다.그리고 잘 된 jar 가방 에 포 함 된 jar 가방 을 살 펴 보면 ojdbc 6.jar 이 가방 이 정확하게 포함 되 어 있 음 을 알 수 있 습 니 다.
연결 하 는 프로젝트 가 비교적 오래 되 었 기 때문에 데이터 베이스 와 상호작용 을 해 야 하고 데이터 베이스 유형 이 일치 하지 않 기 때문에 우리 의 프로젝트 는 다 중 데이터 소스(인터페이스 플랫폼)를 지원 해 야 합 니 다.이것 은 매우 좋 은 설정 입 니 다.SpringBoot 는 우리 에 게 다 중 데이터 소스 설정 방안 을 제공 해 주 었 고 모든 데이터 소스 는 하나의 Jdbc Template 에 대응 해 야 합 니 다.그러면 매우 편리 합 니 다.구체 적 인 설정 은 다음 과 같 습 니 다.
application.properties 파일 에 다 중 데이터 원본 정보 설정
먼저 application.properties 또는 yml 파일 에 다 중 데이터 원본 정 보 를 설정 하고 구체 적 인 설정 은 다음 과 같 습 니 다.

# ds1     
spring.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.ds1.url=jdbc:mysql://localhost:3306/zz?useUnicode=true&characterEncoding=utf8
spring.datasource.ds1.username=zz
spring.datasource.ds1.password=zz

# ds2     
spring.datasource.ds2.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.ds2.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.ds2.username=system
spring.datasource.ds2.password=050508
데이터 원본 및 설정 정보 지정
위 에서 우 리 는 데이터 원본 을 설 정 했 지만 SpringBoot 의 기본 데이터 원본 설정 정보 가 아 닙 니 다.따라서 우 리 는 서로 다른 데이터 원본 인 스 턴 스 가 어떤 설정 정보 에 대응 하 는 지 지정 해 야 합 니 다.설정 은 다음 과 같 습 니 다.

/**
 *       
 */

public class DataSourceConfig {

 /**
  * ds1     
  *
  * @return     
  */
 
 (name = "ds1DataSourceProperties")
 (prefix = "spring.datasource.ds1")
 public DataSourceProperties ds1DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds1   
  *
  * @param dataSourceProperties     
  * @return      
  */
 
 (name = "ds1DataSource")
 public DataSource ds1DataSource(@Qualifier("ds1DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

 /**
  * ds2     
  *
  * @return     
  */
 
 (name = "ds2DataSourceProperties")
 (prefix = "spring.datasource.ds2")
 public DataSourceProperties ds2DataSourceProperties() {
  return new DataSourceProperties();
 }

 /**
  * ds2   
  *
  * @param dataSourceProperties     
  * @return      
  */
 
 (name = "ds2DataSource")
 public DataSource ds2DataSource(@Qualifier("ds2DataSourceProperties") DataSourceProperties dataSourceProperties) {
  return dataSourceProperties.initializeDataSourceBuilder().build();
 }

}
JdbcTemplate 와 데이터 원본 관계 설정
데이터 원본 정 보 를 설정 하고 저 희 는 서로 다른 JdbcTemplate 로 서로 다른 데이터 베 이 스 를 직접 조작 하고 싶 습 니 다.그래서 저 희 는 몇 개의 JdbcTemplate 인 스 턴 스 를 만 들 고 이 인 스 턴 스 는 서로 다른 데이터 원본 과 연결 되 어야 합 니 다.설정 정 보 는 다음 과 같 습 니 다.

/**
 * JdbcTemplate       
 *
 * @author   
 * @see DataSourceConfig
 */

public class JdbcTemplateDataSourceConfig {

 /**
  * ds1 JdbcTemplate   
  *
  * @param dataSource    
  * @return JdbcTemplate
  */
 
 (name = "ds1JdbcTemplate")
 public JdbcTemplate jdbcTemplate(@Qualifier("ds1DataSource") DataSource dataSource) {
  return new JdbcTemplate(dataSource);
 }

 /**
  *ds2 JdbcTemplate   
  *
  * @param dataSource    
  * @return JdbcTemplate
  */
 (name = "ds2JdbcTemplate")
 public JdbcTemplate hdwmsJdbcTemplate(@Qualifier("ds2DataSource") DataSource dataSource) {
  return new JdbcTemplate(dataSource);
 }
}
JdbcTemplate 사용 하기
설정 이 끝 난 후에 우 리 는 구체 적 인 클래스 에서 직접 사용 할 수 있 습 니 다.사용 방식 은 다음 과 같 습 니 다.

("ds1JdbcTemplate")
private JdbcTemplate ds1JdbcTemplate;


("ds2JdbcTemplate")
private JdbcTemplate ds2JdbcTemplate;
총결산
Spring Boot 프로젝트 에 외부 Jar 패 키 지 를 추가 하고 다 중 데이터 원본 을 설정 하 는 것 에 관 한 글 은 여기까지 입 니 다.더 많은 Spring Boot 프로젝트 에 외부 Jar 패 키 지 를 추가 하고 다 중 데이터 원본 을 설정 하 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기