标签:byType 06 -- bean 引用 类型 java class 类中
引用类型的自动注入:spring框架根据某些规则可以给引用类型赋值,不用在给引用类型赋值
使用规则常用的是byName,byType
1.byName(按名称注入):java类中引用类型的属性名和spring容器中(配置文件)<bean>的id名称一样,
且数据类型是一致的,这样的容器中的bean,spring能够赋值给引用类型。
语法:
<bean id="xx" class="yyy" autowire = "byName">
简单类型属性赋值
</bean>
<!--byName--> <bean id="myStudent" class="com.example.ba04.Student" autowire="byName"> <property name="name" value="李四"/><!--setName("李四")--> <property name="age" value="22"/><!--setAge(20)--> <!--引用类型--> <!--<property name="school" ref="mySchool"/>--> </bean> <!--声明School对象--> <bean id="school" class="com.example.ba04.School"> <property name="name" value="黑皮大学"/> <property name="address" value="广州市"/> </bean>
2.byType(按类型注入):java类中引用类型的数据类型和spring容器中(配置文件)<bean>的class属性
是同源关系的,这样的bean能够赋值给引用类型
同源就是一类的意思:
1.java类中引用类型的数据类型和bean的class的值是一样的。
2.java类中引用类型的数据结构和bean的class的值父子类关系的。
3.java类中引用类型的数据结构和bean的class的值接口和实现类关系的。
语法:
<bean id="xx" class="yyy" autowire = "byType">
简单类型属性赋值
</bean>
1.java类中引用类型的数据类型和bean的class的值是一样的。
<bean id="myStudent" class="com.example.ba05.Student" autowire="byType"> <property name="name" value="张三"/><!--setName("李四")--> <property name="age" value="21"/><!--setAge(20)--> <!--引用类型--> <!--<property name="school" ref="mySchool"/>--> </bean> <!--声明School对象--> <bean id="mySchool" class="com.example.ba05.School"> <property name="name" value="白皮大学"/> <property name="address" value="广州市"/> </bean>
2.java类中引用类型的数据结构和bean的class的值父子类关系的。
<bean id="myStudent" class="com.example.ba05.Student" autowire="byType"> <property name="name" value="张三"/><!--setName("李四")--> <property name="age" value="21"/><!--setAge(20)--> <!--引用类型--> <!--<property name="school" ref="mySchool"/>--> </bean> <!--声明School的子类--> <bean id="primaryschool" class="com.example.ba05.PrimarySchool"> <property name="name" value="北京小学"/> <property name="address" value="北京的大兴区"/> </bean>
注意:在byType中,在xml配置文件中声明bean只能有一个符合条件的,
多余一个是错误的
标签:byType,06,--,bean,引用,类型,java,class,类中 来源: https://www.cnblogs.com/hlchacker/p/15002347.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。