종속성 주입 컨테이너 (Spring4D)를 사용하여 응용 프로그램을 빌드 할 때 컨테이너가 올바르게 빌드되었는지 알고 싶습니다. 이 상황에서 :종속성 주입 컨테이너 빌드 유효성 확인
TMyForm이 Vcl.Forms.TForm에서 상속 경우 컨테이너가 구축되지만 응용 프로그램이 있기 때문에 사실 TMyForm 전혀 등록되지 않은 작동하지 않습니다GlobalContainer.RegisterType<TApp>;
GlobalContainer.RegisterType<TMyForm>;
GlobalContainer.Build;
. 빌드 프로세스를 검증 할 수있는 가능성이 있는지 알고 싶습니다. 특히 resolver가 생성자를 해결할 것인데, 디폴트가 아닌가?
은 그 같은 시도 :var
registeredTypes: Spring.Collections.IEnumerable<TComponentModel>;
registeredType: TComponentModel;
begin
GlobalContainer.RegisterType<TApp>;
GlobalContainer.RegisterType<TMyForm>;
GlobalContainer.Build;
registeredTypes := GlobalContainer.Kernel.Registry.FindAll;
for registeredType in registeredTypes do
begin
if not GlobalContainer.Kernel.Registry.HasService(registeredType.ComponentTypeInfo) then
raise Exception.Create('Build Error');
end;
을하지만이 이상적인 거리가 멀다.