일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- assertThat
- 스프링 부트
- sqld
- kafka
- resultMap
- 스프링 빈
- assertThrows
- Javascript
- DI
- Effective Java
- 스프링
- 스프링 부트 기본
- java
- JPA
- DIP
- 스프링부트
- 스프링 부트 입문
- spring
- jdbc
- 싱글톤
- 스프링 컨테이너
- @Configuration
- 필드 주입
- db
- 스프링 프레임워크
- 생성자 주입
- SQL
- thymeleaf
- mybatis
- springboot
- Today
- Total
목록ObjectProvider (2)
선 조치 후 분석
스코프와 Provider + ObjectProvider 저번 정리 때, 스프링 애플리케이션을 실행시키면 오류가 발생했다. 스프링 애플리케이션을 실행하는 시점에 싱글톤 빈은 생성해서 주입이 가능하지만, request 스코프 빈은 아직 생성되지 않는다. 이 빈은 실제 고객의 요청이 와야 생성할 수 있다. 그렇다면 이런 문제점을 어떻게 해결할 수 있을까? 스코프와 Provider 첫 번째 해결방안은 앞서 배운 Provider를 사용하는 것이다. 간단히 ObjectProvider를 사용해보자. 1. Controller 수정 ObjectProvider 를 사용함으로써 원하는 MyLogger를 찾을 수 있는 객체를 주입받는다. @Controller @RequiredArgsConstructor public class..
프로토타입 스코프 - 싱글톤 빈과 함께 사용 시 Provider로 문제 해결 + 의존관계 조회(탐색) + Dependency Lookup(DL) + ObjectFactory, ObjectProvider + JSR-330 Provider 싱글톤 빈과 프로토타입 빈을 함께 사용할 때, 어떻게 하면 사용할 때마다 항상 새로운 프로토타입 빈을 생성할 수 있을까? 스프링 컨테이너에 요청 가장 간단한 방법은 싱글톤 빈이 프로토타입을 사용할 때마다 스프링 컨테이너에 새로 요청하는 것이다. 저번 시간에 작성했던 ClientBean 내용만 아래처럼 바꾸면 사용은 가능하다. (하지만 무식한 방법이다.) static class ClientBean { @Autowired private ApplicationContext ac;..