Spring

LatteJava·2024년 3월 27일
  • @SpringBootApplication
  1. 스프링부트 어플리케이션임을 표시
  2. 여러 다른 애노테이션들을 조합하여 스프링부트 기본 설정을 활성화하고 자동 설정을 구성한다
  • @Configuration
  1. Java Config Class임을 표시
  2. 스프링 빈을 생성하고 관리하는 메소드 선언
  • @Bean
  1. 해당 애노테이션이 설정된 메소드를 호출하여 빈을 생성하고 이를 Application Context에 등록
  2. 스프링 컨테이너에 의해 호출되어 해당 빈 객체를 생성하고 반환한다. 이때 호출은 한 번만 이루어지고 이후에는 컨테이너 내부에 빈의 인스턴스를 저장하여 필요할 때마다 동일한 인스턴스를 반환한다. 따라서 빈들은 싱글톤 스코프를 가지며 여러 클라이언트가 이를 공유하여 사용한다. 이는 메모리 사용량을 줄이고 애플리케이션 성능을 향상시키는데 도움이 된다.
  • Application Context
  1. 스프링 빈들을 관리하고, 의존성을 주입하며, 필요에 따라 빈을 검색하여 제공
  • Junit
  1. 테스트 메소드를 수행할 때마다 새로운 오브젝트를 만든다.
  • 인스턴스 메소드
  1. 실행 시 해당 인스턴스 메소드가 속한 클래스의 인스턴스를 참조한다.
  • 동등분할
  1. 같은 결과를 내는 값의 범위를 구분해서 각 대표 값으로 테스트 하는 방법
  • 경계값 분석
  1. 동등분할 범위의 경계 값을 이용해 테스트 하는 방법
  2. 에러는 주로 경계에서 발생한다는 특징을 이용
  • 전략패턴
  1. 컨텍스트가 인터페이스를 통하고 구체적인 구현 클래스에 대해서는 알지 못하도록 하자

탬플릿 콜백 패턴

  • 행위 패턴 중 하나
  • 소프트웨어 디자인 패턴 중 하나로, 템플릿을 사용해 알고리즘의 구조를 정의 하고 알고리즘의 변화하는 부분을 콜백으로 정의해 클라이언트에서 구현 또는 상속하게 하여 템플릿에게 제공하는 패턴이다.
  • 구조
    • 템플릿 : 알고리즘의 일부분을 정의하는 클래스 또는 메소드이다. 템플릿은 알고리즘의 구조를 정의하고, 클라이언트가 제공한 콜백을 호출하여 실제 작업을 처리한다.
    • 콜백 : 템플릿에 의해 호출되는 인터페이스나 추상 클래스이다. 클라이언트는 이 인터페이스를 구현하거나 해당 추상클래스로 상속하여 알고리즘의 특정한 부분을 템플릿에 제공한다. 이 부분이 바로 클라이언트가 정의하는 변경 가능한 부분이다.
    • 클라이언트 : 템플릿을 사용하여 작업을 수행하는 클래스나 메소드이다. 클라이언트는 탬플릿을 호출하고, 필요한 콜백을 제공하여 알고리즘의 일부분을 완성한다.

체크예외

  • Exception의 서브 클래스 중 RuntimeException을 상속하지 않은 것
  • 일반적인 예외를 뜻한다
  • 예외 처리를 강제한다
  • 체크 예외를 언체크 예외로 바꾸는 방범
    • 중첩 예외

언체크예외

  • 발생 가능한 예외가 있다고 하더라도 이를 처리하도록 강제하지 않는다.
  • 시스템 장애나 프로그램상의 오류에 사용된다.
  • 대표적으로 RuntimeException이 있다.
  • 컴파일러가 예외처리를 강제하지 않으므로 예외 상황을 API 문서나 레퍼런스 문서등을 통해 예외의 종류, 원인, 활용 방법을 자세히 설명해두어야 한다.

팩토리 패턴

  • 객체 생성을 담당하는 별도의 클래스(팩토리)
  • 클라이언트 코드와 객체생성 코드를 분리
  • 객체의 행위를 추상화한 인터페이스
profile
devlog

0개의 댓글