HikariCP ( https://github.com/brettwooldridge/HikariCP ) 를 이용한 커넥션 풀 설정
XML설정
1. 라이브러리 추가
위 주소로 들어가 밑으로 내려보면 pom.xml에 추가할수있는 dependency 를 복사해 가져와 pom.xml 에 추가해준다.
2. DataSource 설정
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"/>
<property name="username" value="사용자 ID"/>
<property name="password" value="사용자 비밀번호"/>
</bean>
<!--HikariCP Configration-->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig"/>
</bean>
스프링에서 외부 jar파일 등으로 사용하는 클래스들은 <bean> 태그를 이용해서 작성하는 경우가 대부분이다
JAVA 설정
Java 설정을 이용 하는 경우에는 RootConfig 클래스와 @Bean을 이용해 처리한다.
1. 라이브러리 추가
위 주소로 들어가 밑으로 내려보면 pom.xml에 추가할수있는 dependency 를 복사해 가져와 pom.xml 에 추가해준다.
2. @Bean은 XML설정에서 <bean> 태그와 동일한 역할
@Bean이 선언된 메서드의 실행 결과로 반환된 객체는 스프링의객체(Bean)로 등록이 된다.
@Bean
public DataSource dataSource() {
HikariConfig hikariConfig =new HikariConfig();
hikariConfig.setDriverClassName("oracle.jdbc.driver.OracleDriver");
hikariConfig.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE");
hikariConfig.setUsername("book_ex");
hikariConfig.setPassword("1234");
HikariDataSource dataSource=new HikariDataSource(hikariConfig);
return dataSource;
}
테스트
빈(Bean)을 정의한 다음에는 항상 테스트를 작성하는 습관을 가지는것이 좋다.
1. src/test/java 에 DataSourceTests 테스트 클래스를 작성한다.
2. DataSourceTests 클래스 내용
@RunWith(SpringJUnit4ClassRunner.class)
//xml설정을 이용하는 경우
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
//JAVA설정을 사용하는 경우
//@ContextConfiguration(classes= {RootConfig.class})
@Log4j
public class DataSourceTests {
@Setter(onMethod_ = {@Autowired})
private DataSource dataSource;
@Test
public void testConnection() {
try (Connection con= dataSource.getConnection()){
log.info(con);
} catch (Exception e) {
fail(e.getMessage());
}
}
}
XML 설정을 사용할경우와 JAVA설정을 사용할경우 @ContextConfiguration 내용만 변경해주면된다.
서버의 로그를 확인하는 것으로 설정에 문제없는지 확인할수있다.
'Data Base' 카테고리의 다른 글
[Oracle] 힌트 사용 문법 (0) | 2021.05.03 |
---|---|
[공통] MyBatis 스프링 연동 (0) | 2021.04.21 |
[Oracle] 이클립스 11g JDBC 연결 (0) | 2021.04.20 |
[Oracle] 포트번호 ( 확인 , 변경 ) (0) | 2021.04.20 |
[Oracle] 사용자와 데이터베이스 생성 (0) | 2021.04.01 |