반응형
Guice의 Assisted 사용방법주사?
https://github.com/google/guice/wiki/AssistedInject,을 읽었는데 Assisted 값을 전달하는 방법은 나와 있지 않습니다.인수를 삽입합니다.injector.getInstance() 콜은 어떻게 됩니까?
Factory Module Builder 클래스의 javadoc을 확인합니다.
AssistedInject
를 동적으로 설정할 수 있습니다.Factory
직접 코딩하는 대신 수업 시간에 사용할 수 있습니다.이 기능은 삽입해야 하는 종속성과 개체 생성 중에 지정해야 하는 일부 매개 변수가 있는 개체가 있을 때 유용합니다.
설명서의 예는 다음과 같습니다.RealPayment
public class RealPayment implements Payment {
@Inject
public RealPayment(
CreditService creditService,
AuthService authService,
@Assisted Date startDate,
@Assisted Money amount) {
...
}
}
저것 좀 봐주세요CreditService
그리고.AuthService
컨테이너에 의해 주입되어야 하지만 startDate와 금액은 인스턴스 작성 시 개발자가 지정해야 합니다.
그래서 주사하는 대신Payment
주사하고 있습니다.PaymentFactory
라고 마크된 파라미터를 사용하여@Assisted
에RealPayment
public interface PaymentFactory {
Payment create(Date startDate, Money amount);
}
그리고 공장은 묶어야 한다.
install(new FactoryModuleBuilder()
.implement(Payment.class, RealPayment.class)
.build(PaymentFactory.class));
설정된 팩토리는 클래스에 삽입할 수 있습니다.
@Inject
PaymentFactory paymentFactory;
코드에 사용되었습니다.
Payment payment = paymentFactory.create(today, price);
언급URL : https://stackoverflow.com/questions/8976250/how-to-use-guices-assistedinject
반응형
'programing' 카테고리의 다른 글
봄철 순환 의존성 (0) | 2022.09.12 |
---|---|
transition-group 속성 또는 소품 설정 방법 (0) | 2022.09.12 |
2개의 열이 있는 SQL:상위 3명의 사용자로부터의 커미션 및 커미션 합계 (0) | 2022.09.12 |
Vue.js 구문 오류(SCRIPT1003) IE11 이하 (0) | 2022.09.12 |
와, 뭔가 잘못 된 것 같아.라라벨 5.0 (0) | 2022.09.12 |