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 내용만 변경해주면된다.


서버의 로그를 확인하는 것으로 설정에 문제없는지 확인할수있다.

+ Recent posts