injectable
injectable copied to clipboard
[feature request] add annotation for service initialization
I would love to have an annotation similar to @PostConstruct
in Java Spring.
My use case are services with initialization
method, such as service which needs to load settings from internet.
It would look like this:
@Singleton(as: MyService)
class MyServiceImpl implements MyService {
final RemoteService _remoteService;
late final String _someData;
const MyServiceImpl(this._remoteService);
@postConstruct
Future<void> initialize() async {
_someData = await _remoteService.getData();
}
}
My request is similar to #284, but I think this would be much better than creating service using static method like this:
@Singleton(as: MyService)
class MyServiceImpl implements MyService {
final RemoteService _remoteService;
late final String _someData;
const MyServiceImpl(this._remoteService);
@preResolve
@factoryMethod
static Future<MyService> create(RemoteService remoteService) async {
final service = MyServiceImpl(remoteService);
service._someData = await _remoteService.getData();
return service;
}
}
+1