7.IOC 操作 Bean 管理-xml 自动装配
8、IOC 操作 Bean 管理(xml 自动装配)
1、什么是自动装配
(1)根据指定装配规则(属性名称或者属性类型), Spring 自动将匹配的属性值进行注入
2、演示自动装配过程
(1)根据属性名称自动注入
<!--实现自动装配 bean 标签属性 autowire,配置自动装配 autowire 属性常用两个值: byName 根据属性名称注入 ,注入值 bean 的 id 值和类属性名称一样 byType 根据属性类型注入 --> <bean id="emp" class="com.leizi.spring5.autowire.Emp" autowire="byName"> <!--<property name="dept" ref="dept"></property>--> </bean> <bean id="dept" class="com.leizi.spring5.autowire.Dept"></bean>
(2)根据属性类型自动注入
<!--实现自动装配 bean 标签属性 autowire,配置自动装配 autowire 属性常用两个值: byName 根据属性名称注入 ,注入值 bean 的 id 值和类属性名称一样 byType 根据属性类型注入 --> <bean id="emp" class="com.leizi.spring5.autowire.Emp" autowire="byType"> <!--<property name="dept" ref="dept"></property>--> </bean> <bean id="dept" class="com.leizi.spring5.autowire.Dept"></bean>
byName自动装配:
<bean id="dog" class="com.stt.pojo.Dao"/> <!-- byName: 会自动在容器上下文中查找,和自己对象set方法后缀名对应的 bean id --> <bean id="student" class="com.stt.pojo.Student" autowire="byName"> <property name="name" value="leizia"/> </bean> <!--Student类中存在setDog()方法,自动查找与set方法后名相同的bean的id,所以自动查找到bean id="dog"-->
byType自动装配:
<!--可以不要id--> <bean id="cat" class="com.stt.pojo.Cat"/> <bean id="dog" class="com.stt.pojo.Dog"/> <!-- byType : 会自动在容器上下文中查找,和自己对象属性类型相同的bean,必须保证类名唯一,若两个类名相同则报错 --> <bean id="person" class="com.stt.pojo.Person" autowire="byType"> <property name="name" value="leizia"/> </bean>
小结:
byName:需要保证所有bean的 id 唯一,并且这个bean id 需要和自动注入的属性的set后缀名一致
byType:需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型 一致
本文来自博客园,作者:Lz_蚂蚱,转载请注明原文链接:https://www.cnblogs.com/leizia/p/14959317.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步