추상화 (4) 썸네일형 리스트형 [DB] 스프링의 예외 변환기 스프링은 아래와 같이 데이터 접근과 관련한 예외를 추상화해서 제공해주고 있습니다. 예외의 최상위 예외는 org.springframework.dao.DataAccessException 입니다. 런타임 예외를 상속 받았기 때문에 스프링이 제공하는 데이터 접근 계층의 모든 예외는 런타임 예외입니다. DataAccessException 은 크게 NonTransient 예외와 Transient 예외로 구분할 수 있습니다.Transient : 일시적이라는 뜻으로 동일한 SQL을 다시 시도했을 때 성공할 가능성이 있습니다.예를 들어 쿼리 timeout, lock과 관련된 오류들입니다. 이런 오류들은 DB 상태가 좋아지거나 lock이 풀렸을 때 다시 시도하면 성공할 수 있습니다.NonTransient : 일시적이지 .. [DB] JDBC Template 사용하기 이전 포스팅 에서 사용한 Repository 클래스에는 코드가 복잡합니다. 특히나 JDBC를 사용하고 있는데 아래와 같이 동일한 코드가 반복되어 사용되고 있습니다.커넥션 조회 및 커넥션 동기화PreparedStatement 생성 및 파라미터 바인딩쿼리 실행결과 바인딩예외 발생시 스프링 예외 변환기 실행리소스 종료스프링은 이런 반복 문제를 해결하기 위해 JdbcTemplate 이라는 템플릿을 제공합니다. 이 템플릿을 사용하여 코드를 수정하면 아래와 같이 깔끔하게 작성할 수 있습니다.package hello.jdbc.repository.Account;import hello.jdbc.domain.Account;import lombok.AllArgsConstructor;import lombok.extern.sl.. 객체지향 4대 특성 객체지향의 4대 특성에는 아래가 있습니다. 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 각각의 특성에 대해서 살펴보겠습니다. 추상화 - 모델링 OOP의 추상화는 모델링이라고 할 수 있습니다. 클래스 설계에서 추상화가 사용됩니다. 클래스 설계를 위해서는 애플리케이션 경계부터 정해야 합니다. 객체 지향에서 추상화의 결과는 클래스입니다. 추상화 = 모델링 = 자바의 class 키워드 상속 - 재사용 객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것입니다. (부모-자식 관계가 X) 객체 지향의 상속은 상위 클래스의 특성을 확장하는 것입니다. 객체 지향의 상속은 is kind of 관계를 만족해야 합니다. (즉, 하위 클래스 is kind of 상위 클래스): 하위 클래스는 상위 클.. 추상클래스(Abstract)과 인터페이스(Interface) 추상클래스(Abstract) 추상클래스는 미완성된 메서드(추상메서드)를 포함하고 있는 미완성된 클래스라고 할 수 있습니다. 미완성된 클래스로는 인스턴스를 생성할 수 없기 때문에 추상클래스는 상속을 통해서 자손클래스에 의해서 완성이 된 후 사용할 수 있습니다. 추상클래스를 이용하면 그 자체로는 클래스로서의 역할을 하지 못하지만, 새로운 클래스를 작성할 때 일종의 설계도 역할을 하여 조상클래스로서 중요한 의미를 가집니다. 추상클래스 정의 클래스 선언부 앞에 'abstract' 키워드를 붙여서 선언합니다. (접근제어자보다 뒤에 선언해야 합니다. 예를 들어, public abstract class 클래스명으로 선언해야 합니다.) abstract class ExampleAbstract {} 추상클래스도 멤버를 가.. 이전 1 다음