개략
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
밑은 dagger2의 @Assisted이지만 비슷한 개념일테니 참고로...
https://velog.io/@cmplxn/Assisted-Inject-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
'프로그래밍 공부 > 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 |
댓글