. [Guice] @Assisted
본문 바로가기
프로그래밍 공부/Java

[Guice] @Assisted

by 불냥이_ 2021. 5. 21.

https://google.github.io/guice/api-docs/4.2/javadoc/index.html?com/google/inject/assistedinject/package-summary.html 

 

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

https://charlezz.medium.com/assistedinject%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-35fbc90069a1

'프로그래밍 공부 > 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

댓글