文章目录
哪三种方式?
- 使用构造器注入
- 使用setter注入
- 使用自动装配
准备工作
- 配置文件
spring-di.xml
- 包:
biuaxia.bean
- 包:
biuaxia.test
- bean包下有Man类
package biuaxia.bean;
/**
* Class Describe:
*
* @author biuaxia
* @date 2018/11/13
* @time 17:55
*/
public class Man {
private Person person;
@Override
public String toString() {
return "Man{" +
"person=" + person +
'}';
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public Man() {
}
public Man(Person person) {
this.person = person;
}
}
- bean包下有Person类
package biuaxia.bean;
/**
* Class Describe:
*
* @author biuaxia
* @date 2018/11/13
* @time 17:39
*/
public class Person {
String name;
public Person() {
}
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
'}';
}
}
使用构造器注入
容器调用带有一组参数的类构造方法完成依赖注入,使用的是标签中的元素
在xml中添加bean,使用构造器注入属性值,使用value属性进行参数值的注入
配置文件spring-di.xml
<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!--使用构造器注入值为123的name-->
<bean id=