토비의 스프링4 [토비의 스프링] 4장. 예외 1. 예외를 잡아서 아무런 조치를 취하지 않거나 의미 없는 throws 선언을 남발하는 것은 위험하다.2. 복구할 수 없는 예외는 가능한 빨리 런타임 예외로 전환하는 것이 바람직하다.3. 스프링은 DataAccessException을 통해 DB에 독립적으로 적용 가능한 추상화된 런타임 예외 계층을 제공한다.4. 스프링은 JdbcTemplate안에서 DB별로 미리 준비된 에러 코드를 비교해서 적절한 예외를 던져준다. DB가 변경되어도 에러를 매핑하여 에러를 던져준다. 스프링에서 예외처리를 하는 다양한 방법과 지양/지향해야 하는 방향을 알려준다. 스프링의 예외처리 동작원리를 추가적으로 정리해야겠다. Study/Spring 2024. 2. 24. [토비의 스프링] 3장. 템플릿 예외처리, 디자인 패턴&DI 등을 적용해서 깔끔한 코드를 만드는 방법 등을 소개하고 있다. 템플릿/콜백 부분은 좀 어려웠다. 템플릿/콜백 부분은 대충 넘어가서 정리할 게 별로 없음.. 1. 같은 애플리케이션 안에서 여러 가지 종류의 전략을 다이내믹하게 구성하고 사용해야 한다면 컨텍스트를 이용하는 클라이언트 메소드에서 직접 전략을 정의하고 제공하게 만든다. 2. 단일 전략 메소드를 갖는 전략 패턴이면서 익명 내부 클래스를 사용해서 매번 전략을 새로 만들어 사용하고, 컨텍스트 호출과 동시에 전략 DI를 수행하는 방식을 템플릿/콜백 패턴이라고 한다. Study/Spring 2024. 2. 24. [토비의 스프링] 2장. 테스트 1. 모든 테스트는 실행 순서에 상관없이 독립적으로 항상 동일한 결과를 낼 수 있도록 해야 한다. 2. 성공하는 테스트만 골라서 만들지 말자. 3. JUnit이 테스트를 수행하는 방식 테스트 클래스에서 @Test가 붙은 public이고 void형이며 파라미터가 없는 테스트 메소드를 모두 찾는다. 테스트 클래스의 오브젝트를 하나 만든다. @Before가 붙은 메소드가 있으면 실행한다. @Test가 붙은 메소드를 하나 호출하고 테스트 결과를 저장해 둔다. @After가 붙은 메소드가 있으면 실행한다. 나머지 테스트 메소드에 대해 2~5번을 반복한다. 모든 테스트의 결과를 종합해서 돌려준다. 4. 픽스처 : 테스트를 수행하는 데 필요한 정보나 오브젝트(@Before 메소드에 정의하는 내용들) 5. @Runwi.. Study/Spring 2024. 2. 24. [토비의 스프링] 1장. 오브젝트와 의존관계 토비의 스프링 1장을 보면서 기억해야 할 핵심 용어, 개인적으로 궁금했던 점들을 찾아 정리해 보았다. (지극히 개인 학습용 자료라서 나만 알아볼 수 있게, 내가 기록하고 싶은 부분만 정리했다)용어 정리제어의 역전: 모든 종류의 작업을 사용하는 쪽에서 제어하는 구조. 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하지 않는다. 또 자신이 어떻게 만들어지고 어디서 사용되는지 알 수 없다. ex) 디자인 패턴, 프레임워크빈(Bean): 스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트. 스프링 컨테이너가 생성과 관계설정, 사용 등을 제어해 주는 제어의 역전이 적용된 오브젝트스프링 컨테이너(Spring Container) : 스프링 빈의 생명주기를 관리하고 IoC를 이용해 애플리케이션 컴포넌트를 관.. Study/Spring 2024. 2. 12. 이전 1 다음