Spring 용어 정리 2

이건희·2023년 3월 26일
0
  • @Transactional
    • 테스트 클래스에 Annotation을 붙여 사용한다.
    • 각 단위 테스트가 끝날때마다 Commit(DB에 반영하는 것)을 하지 않고 Rollback 시킨다. 즉, query를 다 날리고 끝나면 DataBase에 반영을 하지 않는다. DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다.

  • @SpringBootTest
    • 마찬가지로 테스트 클래스에 Annotation을 붙여 사용한다.
    • 스프링 컨테이너와 테스트를 함께 실행한다.

  • JDBC(Java Database Connectivity)
    • 자바에서 DB 프로그래밍을 하기 위해 사용하는 API
    • 데이터베이스의 종류에 영향을 받지 않는다 !

  • JdbcTemplate
    • 개발자가 JDBC를 사용할 때 발생하는 반복적인 문제를 해결해준다. 문제에는 다음과 같은 것들이 있다.
      • 커넥션 획득
      • statement를 준비하고 실행
      • 결과를 반복하도록 루프를 실행
      • 커넥션 종료, statement 및 resultset 종료
      • 트랜잭션을 다루기 위한 커넥션 동기화
      • 예외 발생 시 스프링 예외 변환기 실행
    • 쉽게 말해 JdbcTemplate은 개발자가 JDBC 기술을 쉽게 사용할 수 있도록 도와주는 클래스이다.

  • DataSource, Connection Pool

    Connection Pool

    • 순수 jdbc로 데이터베이스에 접근을 하면, 데이터베이스에 접근할 때마다 connection을 맺고 끊는 작업을 한다. 이 connection을 맺고 끊는 작업을 줄이기 위해 미리 connection을 생성해 두고, 데이터베이스에 접근하고자 하는 사용자에게 미리 생성된 connection을 제공하고 돌려받는다.connection들을 모아두는 장소를 connection pool이라 한다.
      DB버전의 싱글톤 패턴이라고 생각하면 될 것 같다.

    DataSource

    • DB 연결 정보를 저장하고, Connection을 생성하고, Connection Pool에 등록하고 관리하는 것이 DataSource이다 !
    • Datasource는 java 에서 connection pool을 지원하기 위한 인터페이스이다.

  • RowMapper
    • Database의 반환 결과인 ResultSet을 객체로 반환해주는 클래스이다.

내용 추가 예정

profile
광운대학교 정보융합학부 학생입니다.

0개의 댓글