Free Lines Arrow
본문 바로가기
728x90

Spring/spring 기초 스터디32

[Spring] Bean 생명주기 빈 생명주기 스프링빈 생명 주기 1. 스프링빈은 객체를 생성한다. 2. 의존관계 주입을 한다. 3. 이후 필요한 데이터를 사용 할 수 있는 준비가 된다. Point 따라서 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야한다. 주입완료 시점? 어떻게 주입완료 시점을 알 수 있을까? 스프링은 의존관계 주입이 완료 되면 스프링 빈에게 콜백 메서드를 제공함. 초기화 시점을 알려 주는 다양한 기능을 제공한다. 스프링 빈의 이벤트 라이프사이클 초기화 콜백 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 소멸전 콜백 빈이 소멸되기 직전에 호출 생성자와 초기화를 어떻게 구별 하고 사용할까? 생성자 정의: 필수 정보를 받고 메모리를 할당해서 객체를 생성하는 책임을 가진다. 내부 값 변경등 작은 작업.. 2021. 5. 26.
[Spring] 조회한 빈을 선택해서 사용할때 빈을 선택해서 사용하기 앞서 조회된 Bean이 2개 일때 둘중 하나만 쓰도록 변경하였다. 만약 사용자가 선택해서 쓰고 싶다면 어떻게 구현을 해야 될까? Map과 List를 활용해보자 package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework... 2021. 5. 24.
[Spring] 조회된 빈이 2개일때 No qualifying bean 조횐된 Bean이 2개일 경우 어떤 문제가 발생 하는가? 에러 내용 No qualifying bean of type "프로젝트 이름" available: expected single matching bean but found 2: "빈이름1", 빈이름2" 해당 문제는 조회된 bean이 두개 이상 발견 됐을때 나타나는 문제이다. 문제코드 DisCountpolicy의 클래스를 상속받아 2개의 클래스를 만들었다. 그리고 @Component를 넣어 주어 Bean으로 등록 되도록 했다. 그런데 문제 가 발생한다. 그 이유는 아래의 TestCode Class 에서 생성자로 주입할 경우 Car의 자식인 CarA와 CarB가 둘다 빈에 등록 되었기 때문이다. 둘중 어느걸 넣을지 몰라 발생한 문제이다. ChildA Cl.. 2021. 5. 23.
[Spring] Lombok Lombok Lombok 이란? 사이트 주소: https://projectlombok.org/features/all 사이트 설명중 아래말이 멋지다. Never write another getter or equals method again getter 와 동등한 메서드를 쓰지 말라고 한다. 상당히 훌룡하다. Lombok(롬복)은 Java 라이브러리다. getter, setter, toString 등의 메서드 작성 코드를 알아서 만들어 준다. Lombok 을 사용하는이유 getter, setter, toString를 직접 안만들어도 된다. 코드가 간결해진다. Lombok 적용해보기 Lombok 환경설정 파일명: build.gradle plugins { id 'org.springframework.boot' v.. 2021. 5. 23.
728x90
반응형