jsr330提供了五个注解和一个接口:
这个注解是用于注入的,可以是构造器、字段和方法,该注解是用于对要操作的类进行实例化时提供相关的变量值,该变量值应该是ioc容器已经定义好的,并且能够被取出的。
对于一个类,我们往往会提供不止一个对象,或者对于一个接口,我们也往往不止提供一个实现类,这时候就需要其他的东西来辨别注入的应该是什么,named就是这样的一个注解,可以为我们要注入的参数提供个名字,然后寻找容器中相关的变量。
这个注解是用于注解上的,跟2的原因一样,不过我们有时候不是依靠名称来辨别,有时候用户需要自定义辨别机制,事实上 @Named 就是被该注解注解过的
这个注解也是用于注解上,是用于生成对象的生命周期的,一个对象可以是单例、或者每次注入都生成新的对象或者在web开发中还有request和session这种生命周期的。
这个顾名思义就是单例的,每次碰到注入不生成新的该注入相关对象,学过spring知道它默认就是单例的,我也不多解释。
6.Provider
这是个接口,就是生成用于注入的变量的对象的。该接口只有一个方法,就是get,这是个泛型接口