public interface Scope
Injector has
no scope, meaning it has no state from the framework's perspective -- the
Injector creates it, injects it once into the class that required it, and then immediately forgets it. Associating a scope with a particular binding allows the created instance to be "remembered" and possibly used again for other injections.
An example of a scope is Scopes.
<T> Provider<T> scope(Key <T> key, Provider <T> unscoped)
Scope implementations are strongly encouraged to override Object in the returned provider and include the backing provider's toString() output.
key - binding key
unscoped - locates an instance when one doesn't already exist in this scope.
StringtoString()
"Scopes.SINGLETON",
"ServletScopes.SESSION" and
"ServletScopes.REQUEST".