Guice 4.2 API
google.github.io
개략
Annotates an injected parameter or field whose value comes from an argument to a factory method.
factory method에 inject할 parameter가 argument에서 온 경우 사용하는 annotation
언제 사용하는가?
@Inject로 DI해줄 parameter 중에서 런타임중에 value가 변할 수 있는 parameter앞에 @Assisted를 붙여준다.
왜 동적인 parameter에만 붙이는가?
만약 정적인 친구들까지 @Assisted를 넣어준다면, Factory로 생성할 때 마다, parameter를 확인하고 새로 불러올 것이므로 자원의 낭비가 생길 것이다.
https://stackoverflow.com/questions/8976250/how-to-use-guices-assistedinject
How to use Guice's AssistedInject?
I've read https://github.com/google/guice/wiki/AssistedInject, but it doesn't say how to pass in the values of the AssistedInject arguments. What would the injector.getInstance() call look like?
stackoverflow.com
밑은 dagger2의 @Assisted이지만 비슷한 개념일테니 참고로...
https://velog.io/@cmplxn/Assisted-Inject-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
Assisted Inject 사용하기
선수지식 : Dagger2, AAC ViewModel(마지막 예제) Assisted Inject 개요 Dagger2는 Annotation을 이용해 의존성 주입을 해주는 라이브러리다. 컴파일 타임에 관련 프로세싱이 진행되므로 컴파일 시간이 늦어지지
velog.io
'프로그래밍 공부 > Java' 카테고리의 다른 글
[Java.util]Optional (0) | 2021.05.26 |
---|---|
@Transactional (0) | 2021.05.25 |
Jooq란? (0) | 2021.05.20 |
[Lombok] @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor (0) | 2021.05.20 |
Java의 기본 데이터 형식 (0) | 2021.05.15 |
댓글