hk2 ServiceLocatorに自動的に追加されるクラスに配置される注釈。
ServiceLocator
注釈付きクラスを自動的に検索する方法がわかりません。
テストサービス
@Contract
public interface TestService {
}
TestServiceImpl
@Service
public class TestServiceImpl implements TestService {
}
主要
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // null
}
結果は常にnull
です。が見つけられるDescriptor
ように追加する必要があります。ServiceLocator
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class);
DynamicConfiguration config = dcs.createDynamicConfiguration();
config.bind(BuilderHelper.link(TestServiceImpl.class).to(TestService.class).in(Singleton.class).build());
config.commit();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // TestServiceImpl instance
}
ServiceLocator
注釈付きのクラスを自動的に見つけるにはどうすればよいですか? 私は何かを誤解しましたか?