Package Usage: go: github.com/facebookgo/inject
Package inject provides a reflect based injector. A large application built
with dependency injection in mind will typically involve the boring work of
setting up the object graph. This library attempts to take care of this
boring work by creating and connecting the various objects. Its use involves
you seeding the object graph with some (possibly incomplete) objects, where
the underlying types have been tagged for injection. Given this, the
library will populate the objects creating new ones as necessary. It uses
singletons by default, supports optional private instances as well as named
instances.
It works using Go's reflection package and is inherently limited in what it
can do as opposed to a code-gen system with respect to private fields.
The usage pattern for the library involves struct tags. It requires the tag
format used by the various standard libraries, like json, xml etc. It
involves tags in one of the three forms below:
The first no value syntax is for the common case of a singleton dependency
of the associated type. The second triggers creation of a private instance
for the associated type. Finally the last form is asking for a named
dependency called "dev logger".
2 versions
Latest release: almost 7 years ago
95 dependent packages
View more package details: https://packages.ecosystem.code.gouv.fr/registries/proxy.golang.org/packages/github.com/facebookgo/inject
Dependent Repos 3
betagouv/grafana-scalingo Fork of Scalingo/grafana-scalingo
One click deploy for GrafanaSize: 141 MB - Last synced: 7 days ago - Pushed: almost 7 years ago


