anchor.diff:  			this.movieFinder = movieFinder;
   		}
   
  -		// ...
  -
  -	}
  -----
  -
  -As with `@Autowired`, it is possible to use `@Inject` at the class-level, field-level,
  -method-level and constructor-argument level. If you would like to use a qualified name
  -for the dependency that should be injected, you should use the `@Named` annotation as
  -follows:
  +		public void listMovies() {
  +			this.movieFinder.findMovies(...);
  +			...
  +		}
  +	}
  +----
  +
  +As with `@Autowired`, it is possible to use `@Inject` at the field level, method level
  +and constructor-argument level. Furthermore, you may declare your injection point as a
  +`Provider`, allowing for on-demand access to beans of shorter scopes or lazy access to
  +other beans through a `Provider.get()` call. As a variant of the example above:
  +
  +[source,java,indent=0]
  +[subs="verbatim,quotes"]
  +----
  +	import javax.inject.Inject;
  +	import javax.inject.Provider;
  +
  +	public class SimpleMovieLister {
  +
  +		private Provider<MovieFinder> movieFinder;
  +
  +		public void listMovies() {
  +			this.movieFinder.get().findMovies(...);
  +			...
  +		}
  +	}
  +----
  +
  +If you would like to use a qualified name for the dependency that should be injected,
  +you should use the `@Named` annotation as follows:
   
   [source,java,indent=0]
   [subs="verbatim,quotes"]
  
positive.code: 	<bean id="userPreferences" class="com.foo.DefaultUserPreferences" scope="session">
  		<aop:scoped-proxy proxy-target-class="false"/>
  	</bean>
  	<bean id="userManager" class="com.foo.UserManager">
  		<property name="userPreferences" ref="userPreferences"/>
  	</bean>
  
negative.code: | @Lazy
  | -
  | no equivalent
  
  | ObjectFactory
  | Provider
  | `javax.inject.Provider` is a direct alternative to Spring's `ObjectFactory`,
    just with a shorter `get()` method name. It can also be used in combination with
    Spring's `@Autowired` or with non-annotated constructors and setter methods.
  |===
  
  
  