八IOC操作Bean管理(xml自动装配)
Posted 上善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八IOC操作Bean管理(xml自动装配)相关的知识,希望对你有一定的参考价值。
-
什么是自动装配
- 根据指定装配规则(属性名称或者属性类型),Spring 自动将匹配的属性值进行注入。
-
演示自动装配过程
- 根据属性名称自动注入
package com.deewinkg.bean; public class Dept { @Override public String toString() { return "Dept{}"; } }
package com.deewinkg.bean; public class Emp { private Dept dept; public void setDept(Dept dept) { this.dept = dept; } @Override public String toString() { return "Emp{" + "dept=" + dept + '}'; } public void test() { System.out.println(dept); } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--实现自动装配 bean 标签属性 autowire,配置自动装配 autowire 属性常用两个值: byName 根据属性名称注入 ,注入值 bean 的 id 值和类属性名称一样 byType 根据属性类型注入 --> <bean id="emp" class="com.deewinkg.bean.Emp" autowire="byName"> <!--<property name="dept" ref="dept"></property>--> </bean> <bean id="dept" class="com.deewinkg.bean.Dept"></bean> </beans>
package com.deewinkg.test; import com.deewinkg.bean.Emp; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { @org.junit.Test public void test1() { ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml"); Emp emp = context.getBean("emp", Emp.class); emp.test(); System.out.println(emp); } }
运行结果:
-
根据属性类型自动注入
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--实现自动装配 bean 标签属性 autowire,配置自动装配 autowire 属性常用两个值: byName 根据属性名称注入 ,注入值 bean 的 id 值和类属性名称一样 byType 根据属性类型注入 --> <bean id="emp" class="com.deewinkg.bean.Emp" autowire="byType"> <!--<property name="dept" ref="dept"></property>--> </bean> <bean id="dept" class="com.deewinkg.bean.Dept"></bean> </beans>
以上是关于八IOC操作Bean管理(xml自动装配)的主要内容,如果未能解决你的问题,请参考以下文章
[Spring5]IOC容器_Bean管理XML方式_自动装配
spring5:IOC 操作 Bean 管理(基于注解方式)
关于在Spring中通过注解形式的IoC容器 纯使用 @ComponentScan注解实现对包的自动扫描,实现非XML形式的 注解形式装配Bean类