Spring(89)
-
[Spring] bean 조회에 대한 나름의 이해
getBean은 타입으로 조회가 가능하다. 이름, 타입으로도 조회가 가능하다. 구현체 타입으로 조회도 가능하다. getBeansOfType은 타입을 넣어주면 이 타입 이하에 있는 모든 빈들을 이름을 key, 구현체를 value로 리턴해준다. 즉, 상속 관계에 있는 모든 타입에 대한 bean들도 딸려 온다. 예를 들어, Object를 타입으로 넣어주면 모든 bean들이 딸려온다. 이건 getBean도 마찬가지다. 그래서 타입으로만 조회할 때 두 개 이상이라면 noUnique Exception이 발생하는 것이다. 이건 getBean이 빈 객체 하나만 반환하기 때문이다. Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%8..
2023.09.20 -
[Spring] 타입으로 조회하기
getBeansOfType(class): 그 class type에 해당하는 모든 bean을 key, value로 제공한다. key는 bean의 이름이고 value는 구현체이다. getBeansOfType return으로 얻은 beansOfType에서 .keySet()을 통해 key 값을 얻고 .get(key)를 통해 구현체를 얻는다. Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55355 학습 페이지 www.inflearn.com
2023.09.19 -
[Spring] Assertions.assertThrows
junit의 Assertions.assertThrows(Exception_name, lambda 함수) : exception이 터져야 성공한다. Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55354 학습 페이지 www.inflearn.com
2023.09.19 -
[Spring] 빈 조회 코드 따라치기
ac = AnnotationConfigApplicationContext ac.getBeanDefinitionNames(): 빈 이름들 가져오기 ac.getBean(bean_name): 빈 객체 가져오기 ac.getBeanDefinition(bean_name): 빈 정의 가져오기 beanDefinition.getRole(): 빈 역할 가져오기 Bean.Definition.ROLE_INFRASTRUCTURE: 빈 역할 중 내장 되어 있는 역할 Bean.Definition.ROLE_APPLICATION: 빈 역할 중 애플리케이션에 만들어진 역할 getBean(bean_name, bean_type): bean_type으로는 인터페이스와 구현체(구체) 모두 들어갈 수 있지만 역할의 분리 관점에서 인터페이스를 넣어..
2023.09.19 -
[Spring] 컨테이너에 대한 나름의 이해
ApplicationContext는 인터페이스이고 구현체 중 하나가 AnnotationConfigApplicationContext이다. ApplicationContext는 설정 파일을 받아 (여기서는 AppConfig.class) 이를 기반으로 컨테이너에 빈 이름과 빈 객체를 저장한다. 일단 객체를 저장하는 것과 의존관계를 주입하는 것은 서로 다른 단계에서 진행된다. 빈 이름은 중복되어서는 안된다!!! Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55352 학습 ..
2023.09.19 -
[Spring] 컨테이너에 대한 나름의 이해
컨테이너는 구현체들을 관리한다. 구현체를 bean이라고 한다. 컨테이너는 코드 상으로 ApplicationContext이고 이 객체가 구현체들을 만들어서 관리한다. @Configuration이 붙은 class로 간다. 이게 설정 파일이다. 여기로 와서 @Bean이라고 annotation되어 있는 것들을 등록한다. Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55350 학습 페이지 www.inflearn.com
2023.09.18