本文共 1306 字,大约阅读时间需要 4 分钟。
关于在spring容器中增加注释的功能,我们需要增加以下说明:
然后需要在IOC容器中开启扫描注解:该类注解相当于:<bean id=" " class=" ">
,他的作用是把资源让给spring来管理,相当于在xml中配置一个bean,其中的属性:value指定bean的id。如果不指定value属性,默认bean的id是当前类的类名。首字母小写
它们三个注解都是针对一个的衍生注解,它们的作用属性都是一摸一样的,只不过提供了更加明确的语义化
相当于:
<property name=" " ref=" “> <property name=” " value=" ">@Required注释适用于bean对象的依赖注入方法(即要有set方法):
@Autowired适用于字段,构造函数和多参数方法,允许通过参数中的限定符注释缩小范围
对于@Autowired存在的问题是:@Autowired是首先按照类型自动装配,它会先去IOC容器中寻找是否具有该类型的bean的对象,如果IOC容器中存在多个该类型的bean对象,那么它就会通过变量名/方法名在IOC容器中匹配:
通常@Autowired要和@Qualifier一起配合使用:该注解直接按照bean的id注入,它也只能注入其他bean类型,其中name属性指定了bean的id
该注解注入基本数据类型和S挺类型数据的,其中value属性用于指定值
相当于:
<bean id=" " class=" " scope=" ">该注解的作用是指定bean的作用范围,其中的value属性指定了范围的值
我们发现,对于上面的注解,我们还需要在xml中开启注解扫描:
该注解的作用是用于指定当前类是一个spring配置类,当创建容器时会从该类上加载注解,获取容器时需要使用的配置文件:
@Configurationpublic class SpringConfiguration{}
我们已经用注解Configuration指定了配置文件用类来替代,但是我们还是需要告知springioc容器要扫描的包,这样我们就用到@ComponentScan注解
该注解的作用是用于指定spring在初始化容器时要扫描的包,作用和在spring的xml配置文件的:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入spring容器中,其中的name属性给当前@Bean注解方法创建的对象指定一个名称(即bean的id)
转载地址:http://jljmb.baihongyu.com/