Skip to content

Latest commit

 

History

History
102 lines (72 loc) · 3.11 KB

2024-06-08.md

File metadata and controls

102 lines (72 loc) · 3.11 KB

날짜: 2024-06-08


🌤️ 스크럼

  • 학습 목표 1 : 빈 생명주기 콜백

⚡️ 새로 배운 내용

[Spring Boot] 빈 생명주기 콜백

스프링 컨테이너가 빈의 생명주기 중 특정 시점에 자동으로 호출하는 메서드

콜백

  • 특정 이벤트가 발생했을 때, 시스템에서 호출되는 메서드
  • 일반적으로 사용자가 직접 호출하는 것이 아니라, 미리 정의해 둔 함수를 특정 시점이나 조건에서 자동으로 호출하는 방식
  • 사용 이유

    • 빈의 초기화화 소멸 과정에서 필요한 추가 작업을 자동으로 수행할 수 있다.
  • 사용 방법

    • InitializingBeanDisposableBean 인터페이스를 구현

      • afterPropertiesSet() 메서드를 구현하여 빈의 초기화 직후에 호출
      • destroy() 메서드를 구현하여 빈의 소멸 직전에 호출
      public class MyBean implements InitializingBean, DisposableBean {
          @Override
          public void afterPropertiesSet() throws Exception {
              // 초기화 콜백 메소드
              System.out.println("빈이 초기화되었습니다.");
          }
      
          @Override
          public void destroy() throws Exception {
              // 소멸 콜백 메소드
              System.out.println("빈이 소멸됩니다.");
          }
      }
    • @PostConstruct@PreDestroy 어노테이션을 사용

      • @PostConstruct : 빈의 초기화 직후에 호출
      • @PreDestroy : 빈의 소멸 직전에 호출
      public class MyBean {
          @PostConstruct
          public void init() {
              // 초기화 콜백 메소드
              System.out.println("빈이 초기화되었습니다.");
          }
      
          @PreDestroy
          public void destroy() {
              // 소멸 콜백 메소드
              System.out.println("빈이 소멸됩니다.");
          }
      }
    • @Bean 어노테이션의 initMethoddestroyMethod 속성을 사용

      @Configuration
      public class AppConfig {
          @Bean(initMethod = "init", destroyMethod = "destroy")
          public MyBean myBean() {
              return new MyBean();
          }
      }
  • 활용 예시

    • 세션 단위에서 캐싱 구현
    • 데이터베이스 연결 및 해제

🔥 오늘의 도전 과제와 해결 방법


🤔 오늘의 회고

  • 스크럼 중 완료한 작업: 빈 생명주기 콜백 학습
  • 빈 생명주기 콜백에 대해 자세히 알게 되었다. 스프링 컨테이너가 빈의 생명주기 중 특정 시점에 자동으로 호출하는 메서드를 콜백이라고 한다.
  • 빈의 생명주기 속에서 콜백 메서드를 어떻게 구현해야 할지 알게 되었다. 프로젝트를 통해서 직접 경험해보면 더 이해가 잘 될 것 같다.

참고 자료 및 링크

  • 제푸의 강의 자료