force_inject 0.4.0
force_inject: ^0.4.0 copied to clipboard
A zero-dependency DI container for Dart, inspired by .NET Core. This is the Way.
๐งช force_inject Example #
This is a minimal Dart console example showing how to use the force_inject dependency injection container in pure Dart.
๐ Full Example on GitHub #
๐ https://github.com/diegomgarcia/force_inject/tree/main/example/minimal_dart_di
๐ https://github.com/diegomgarcia/force_inject/tree/main/example/minimal_flutter_di
๐ To run it: #
cd example/minimal_dart_di
dart run
โ What It Demonstrates #
- Registering services using
ServiceCollection - Constructor injection using
registerConstructor - Resolving services using
ServiceProvider.get<T>() - Working with singleton, transient and scoped lifetimes
โจ Sample Code #
final services = ServiceCollection();
services.addSingleton<ILogger, ConsoleLogger>();
services.addTransient<UserService, UserService>();
ServiceProvider.registerConstructor<ConsoleLogger>(() => ConsoleLogger(), []);
ServiceProvider.registerConstructor<UserService>(
(ILogger logger) => UserService(logger),
[ILogger],
);
final provider = services.buildServiceProvider();
final userService = provider.get<UserService>();
userService.sayHello();
Built with โค๏ธ by @diegomgarcia