DB/JDBC

JDBC :: Oracle Driver 의존성 주입 코드

관리자ID 2024. 5. 1. 15:36

 

의존성(Dependency)
객체의 세계에서 협력은 필수적이며, 객체가 협력한다는 것은 객체 간의 의존성이 존재한다는 것이다. 여기서 의존성이란 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것을 의미한다.

 

 

의존성의 단점
1. 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경이 이루어진다.
2. 테스트 가능한 어플을 만들 때 의존성이 있으면 유닛테스트 작성이 어렵다. 유닛테스트의 목적 자체가 다른 모듈로부터 독립적으로 테스트하는 것을 요구하기 때문이다. 

 

 

의존성 주입(Dependency Injection)

위의 단점을 해결하기 위해 의존성 주입을 실행한다. 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.

 

 

Oracle Driver 의존성 주입 코드

      <dependency>
         <groupId>com.oracle.database.jdbc</groupId>
         <artifactId>ojdbc10</artifactId>
         <version>19.21.0.0</version>
      </dependency>

 

 

이 코드는 Maven 프로젝트에서 Oracle JDBC 드라이버를 프로젝트에 추가하기 위한 의존성(dependency)을 정의하는 부분이다. Maven은 프로젝트의 의존성을 관리하는 도구이며, Maven 프로젝트는 이러한 의존성을 정의하여 필요한 라이브러리를 자동으로 다운로드하고 프로젝트에 추가할 수 있다. 여기서 <dependency> 태그는 Maven 프로젝트의 pom.xml 파일에 추가되며, Oracle JDBC 드라이버를 사용하기 위한 필수 정보를 포함한다.

 

이렇게 Maven을 사용하여 의존성을 정의하면 Maven은 이러한 라이브러리를 자동으로 다운로드하고 프로젝트의 빌드에 포함시킨다. pom에 이러한 의존성을 주입한 Maven을 사용하면 직접 Java Build Path에 드라이버 JAR 파일을 추가할 필요가 없으며, Maven이 관리하는 의존성을 통해 필요한 라이브러리를 사용할 수 있다.

 

 

 

각 요소의 역할

<groupId> : 의존성이 속한 그룹의 고유 식별자를 지정한다. 여기서는 Oracle의 JDBC 드라이버인 com.oracle.database.jdbc에 속한다.


<artifactId> : 의존성이 포함된 아티팩트의 이름을 지정한다. 여기서는 Oracle의 JDBC 드라이버인 ojdbc10을 사용한다.

 

<version> : 의존성의 버전을 지정합니다. 여기서는 Oracle JDBC 드라이버의 버전인 19.21.0.0을 사용한다.