의미 DataSource는 커넥션을 획득하는 방법을 추상화하는 인터페이스이다 해당 인터페이스의 핵심 기능은 커넥션 조회 하나이다 public interface DataSource { Connection getConnection() throws SQLException; } 정리 대부분 커넥션 풀은 DataSource 인터페이스를 이미 구현해뒀으므로 개발자는 구현체가 아닌 해당 인터페이스에만 의존하도록 코드를 작성하면 된다 만약 커넥션 풀 구현 기술을 변경하고 싶으면 구현체만 갈아끼우면 된다 스프링은 DriverManager도 DataSource를 통해서 사용할 수 있도록 DataSource 인터페이스를 구현한 DriverManagerDataSource라는 구현 클래스를 제공한다 스프링은 설정 파일을 읽어들..
개요 테스트하려는 메서드에서 다른 메서드를 호출하는 코드가 있었다. 그런데 이 메서드가 테스트를 하기 어렵게 구현되어 있어 실제 테스트 대상에 Mocking을 하려고 했으나 NullPointerException이 발생했다. 이는 Stubbing이 제대로 동작하지 않고, 실제 메서드가 호출됐기 때문이었다. 테스트 코드 - 에러 발생 @Test @DisplayName("유저의 닉네임을 수정하는 데 성공한다") void testSetUserNickname() { // given UserSaveRequest req = createAddUserRequest(); Long userNo = 1L; String defaultPicUrl = "https://test/img.png"; UserEntity userEntit..