728x90 반응형 스프링 Spring/스프링 핵심 원리 - 기본편61 [빈 생명주기 콜백] 애노테이션 @PostConstruct, @PreDestroy @PostConstruct, @PreDestroy 애노테이션 특징 가장 권장하는 방법 애노테이션 하나만 붙이면 되므로 매우 편리 패키지를 보면 import javax.annotation.PostConstruct 이다. 스프링에 종속적인 기술이 아니라 자바 표준이다. 즉, 스프링이 아닌 다른 컨테이너에서도 동작한다. 컴포넌트 스캔과 잘 어울린다. 단점 코드를 고칠 수 없는 외부 라이브러리에는 적용하지 못하므로 @Bean의 initMethod, destroyMethod를 사용하자 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - .. 2022. 2. 24. [빈 생명주기 콜백] 빈 등록 초기화, 소멸 메서드 설정 정보에 @Bean(initMethod = "init", destroyMethod = "close") 처럼 초기화, 소멸 메서드를 지정할 수 있다. 설정 정보 사용특징 메서드 이름을 자유롭게 줄 수 있다. 스프링 빈이 스프링 코드에 의존하지 않는다. 코드가 아니라 설정 정보를 사용하기 때문에 코드를 고칠 수 없는 외부 라이브러리에도 초기화, 종료 메서드를 적용할 수 있다. 종료 메서드 추론 @Bean의 destroyMethod는 기본값이 (inferred) (추론) 로 등록되어 있어 close, shutdown 이름의 메서드를 자동으로 호출해준다. 즉, 직접 스프링 빈으로 등록하면 종료 메서드는 따로 적어주지 않아도 잘 동작한다. 사용하기 싫으면 destroyMethod="" 처럼 지정하면 된다. 인.. 2022. 2. 23. [빈 생명주기 콜백] 인터페이스 InitializingBean, DisposableBean * 초기화, 소멸 인터페이스 단점 이 인터페이스는 스프링 전용 인터페이스다. 해당 코드가 스프링 전용 인터페이스에 의존한다. 초가화, 소멸 메서드의 이름을 변경할 수 없다. 내가 코도를 고칠 수 없는 외부 라이브러리에 적용할 수 없다. 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 2022. 2. 22. [빈 생명주기 콜백] 빈 생명주기 콜백 시작 스프링 빈은 간단하게 "객체 생성" + "의존관계 주입"의 라이프 사이클을 가진다. 스프링 빈의 이벤트 라이프사이클 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료 스프링은 크게 3가지 방법으로 빈 생명주기 콜백을 지원한다. 1. 인터페이스(InitializingBean, DisposableBean) 2. 설정 정보에 초기화 메서드, 종료 메서드 지정 3. @PostConstruct, @PreDestroy 애노테이션 지원 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다.. 2022. 2. 21. [의존관계 자동 주입] 자동, 수동의 올바른 실무 운영 기준 편리한 자동 기능을 기본으로 사용하자 직접 등록하는 기술 지원 객체는 수동 등록 다형성을 적극 활용하는 비즈니스 로직은 수동 등록을 고민해보자 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 2022. 2. 20. [의존관계 자동 주입] 조회한 빈이 모두 필요할 때, List, Map 조회한 빈이 모두 필요할 때, List, Map 할인 서비스를 제공하는데, 클라이언트가 할인의 종류(rate, fix)를 선택할 수 있다고 했을때 스프링을 사용하면 전략 패턴을 매우 간단하게 구현할 수 있다. public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP).. 2022. 2. 20. [의존관계 자동 주입] 애노테이션 직접 만들기 애노테이션 직접 만들기 아래와 같은 방법으로 애노테이션을 만들 수 있다. package hello.core.annotation; import org.springframework.beans.factory.annotation.Qualifier; import java.lang.annotation.*; @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented @Qualifier("mainDiscountPolicy") public @interface Mai.. 2022. 2. 19. [의존관계 자동 주입] @Autowired 필드 명, @Qualifier, @Primary @Autowired 필드 명, @Qualifier, @Primary 조회 대상 빈이 2개 이상일 때 해결 방법 1. @Autowired 필드 명 매칭 타입 매칭 -> 필드명, 파라미터 명 매칭 2. @Qualifier @Qualifier끼리 매칭 -> 빈 이름 매칭 3. @Primary 사용 우선권을 가짐 그러나 "@Qualifier 우선권 > @Primary 우선권" 이다 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 2022. 2. 18. 이전 1 2 3 4 5 ··· 8 다음 728x90 반응형