//public class person{ 等价于下面写法
public class person extends Object{
Stringname;
int age;
public person() {
super();
//TODO Auto-generated constructor stub
}
public person(String name,int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "person [name=" +name +", age=" +age +"]";
}
}
public class Demo2 {
public static void main(String[] args) {
person zhangsan =new person("zhangsan",21);
// 下面两种写法是等价的
System.out.println(zhangsan);
System.out.println(zhangsan.toString());
}
}
使用属性注入的方式来实现依赖注入
步骤:
1 创建一个包(com.it.csx_di_set)
2
在这个包中创建一个类Address
代码如下:
public class Address {
private Stringaddr;
private Stringtel;
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
@Override
public String toString() {
return "Address [addr=" +addr +", tel=" +tel +"]";
}
3 在这个包中创建一个类,类名是person
代码如下:
public class person {
private Stringname;
// Address 类型(引用数据类型)
private AddresshomeAddr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Address getHomeAddr() {
return homeAddr;
}
public void setHomeAddr(Address homeAddr) {
this.homeAddr = homeAddr;
}
// shift+alt+s s
@Override
public String toString() {
return "person [name=" +name +", homeAddr=" +homeAddr +"]";
}
}
4 编写xml文件 (beans.xml)
添加约束
代码如下:
<!-- 实例化一个对象 -->
<bean id="homeAddrId" class="com.it.csx_di_set.Address">
<property name="addr" value="通辽"></property>
<property name="tel" value="13021904773"></property>
</bean>
<!-- 实例化一个对象 -->
<bean id="personId" class="com.it.csx_di_set.person">
<property name="name" value="崔世鑫"></property>
<!-- 把上面的实例化对象(homeAddrId)注入给homeAddr成员变量 -->
<property name="homeAddr" ref="homeAddrId"></property>
</bean>
5 编写测试类
代码如下:
public class testdi {
public static void main(String[] args) {
String xmlpath="com/it/csx_di_set/beans.xml";
ClassPathXmlApplicationContext classPathXmlApplicationContext =new ClassPathXmlApplicationContext(xmlpath);
person bean = (person)classPathXmlApplicationContext.getBean("personId");