Juergen Hoeller opened SPR-15028 and commented
Along the lines of Guice (https://github.com/google/guice/wiki/UseNullable), we can easily detect @Nullable annotations and automatically mark method parameters and dependency descriptors as optional, i.e. not required, injecting null instead of throwing an UnsatisfiedDependencyException. This is particularly useful with JSR-330's @Inject where not @Autowired-style required attribute is available at the injection annotation level, as an alternative to using Java 8's java.util.Optional (which Spring supports for a while already). This also nicely goes along with our support for nullable type declarations in Kotlin.
Issue Links:
Referenced from: commits 12aa14d
Juergen Hoeller opened SPR-15028 and commented
Along the lines of Guice (https://github.com/google/guice/wiki/UseNullable), we can easily detect
@Nullableannotations and automatically mark method parameters and dependency descriptors as optional, i.e. not required, injectingnullinstead of throwing anUnsatisfiedDependencyException. This is particularly useful with JSR-330's@Injectwhere not@Autowired-stylerequiredattribute is available at the injection annotation level, as an alternative to using Java 8'sjava.util.Optional(which Spring supports for a while already). This also nicely goes along with our support for nullable type declarations in Kotlin.Issue Links:
@Autowiredand@Inject@Inject(a la@Autowired's required=false)Referenced from: commits 12aa14d