javax.sql.DataSource의 구현객체 제공
<!-- slf4j-log4j12 for HikariCP -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<!-- HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.0</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<!-- <Bean>: Spring Beans Container에 새로운 콩(Bean)을 등록해주는 태그. 수동으로 등록해야 한다.
새로운 Bean 등록시, class, id는 필수 등록해야 함.
Bean : Spring Beans Container가 관리하는 클래스를 의미함. (자바빈즈 규약을 지킴)-->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<description>HikariCP Configuration</description> <!--Description은 선택사항-->
<!-- property: 속성(=필드). Bean들은, 자바빈즈 규약에 따라 생성된 클래스임.
따라서 이 property(속성, 필드)들은 모두 private 접근제한자를 가지고 있다.
->> <property>태그는, 이 필드들에 대한 Setter메소드 역할을 함.
-->
<property name="driverClassName" value="oracle.jdbc.OracleDriver"/>
<property name="jdbcUrl" value="jdbc:oracle:thin:@db202106301639_high?TNS_ADMIN=C:/opt/OracleCloudWallet/ATP"/>
<property name="username" value="HR"/>
<property name="password" value="Oracle12345!!!"/>
<property name="maximumPoolSize" value="10"/>
<property name="minimumIdle" value="2"/>
<property name="idleTimeout" value="10000"/>
<property name="connectionTimeout" value="1000"/>
<property name="connectionTestQuery" value="SELECT 1 FROM dual"/>
<property name="dataSourceJNDI" value="jdbc/HikariCP"/>
</bean>
<bean id="hikariDataSource"
class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close"> <!-- 해제할 때 어떤 메소드로 해제하는지? -> "close()"메소드로 해제한다!-->
<description>HikariCP DataSource</description>
<!--생성자의 인자값으로, 첫번째 등록한 Bean(id="hikariConfig") 을 사용.-->
<constructor-arg ref="hikariConfig"/>
</bean>
</beans>