본문 바로가기

수업정리/스프링

Spring_20210617

Java를 이용해 DB(데이터베이스)를 다루는 JDBC는

1. Connection 객체 생성

2. PrepareStatement 객체 생성

3. SQL문 실행

4. ResultSet 객체 생성, 결과 처리

위와 같은 작업을 계속 반복하는 단점이 있습니다.

 

그래서 Spring에서는 기존 JDBC의 장점을 유지하면서도

간결한 형태의 API 사용법을 제공합니다.

 

-------------------------------------------------------------

 

웹 애플리케이션에서는 동시에 여러 명의 사용자를 처리해야 합니다.

때문에 사용자의 요청이 있을 때마다 매번 DB에 연결하는 방식이 아닌,

Connection Pool을 사용하여 미리 정해진 개수만큼 커넥션을 풀에 준비해두고

요청이 있을 때마다 풀에서 꺼내 할당받아 사용하고

사용이 끝나면 풀에 다시 넣어주는 기법을 사용합니다.

 

최근에는 HikariCP 라는 라이브러리를 주로 사용합니다.

 

-------------------------------------------------------------

 

JDBC에서 DB를 연결할 때 사용하는 URL, id, pw, driverClass는

DataSource 객체에 미리 정의해두고 사용합니다.

 

 

1. 사용하기 위해서는 먼저 porm.xml파일에 라이브러리들을 등록해야합니다.

2. namespaces에서 beans와 jdbc를 체크해줍니다.

 

 

3.  root-context.xml에 작성하는 이유 : 디스패쳐 서블릿을 읽어오기 전, 가장 먼저 읽어오는게 root-context.xml이기 때문

외부에 존재하는 설정파일 참조 + DataSource와 HikariCP 빈 등록

 

//

value="classpath:/db-config/hikari.properties"

-> db-config 디렉토리 내부에 존재하는 hikari.properties파일을 참조.

 

 

//

hikari.properties

-> 데이터베이스의 url주소, id, pw, driverclass를 설정해둔 파일

 

/*

 * 굳이 이런 번거로운 방식을 취하는 이유는

 * 전자정부표준프레임워크에서 보안을 위해서

 * DB의 정보를 문서에 직접 기입하는게 아니라

 * 외부에서 파일을 읽어와 그 정보를 통해 DB에 접근하기 때문

 */