package com.qcby.service;
public class Demo {
private int age;
private String name;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Demo{" +
"age=" + age +
", name='" + name + '\'' +
", user=" + user +
'}';
}
// set
// 构造器的方式赋值 ----》创建对象有影响
public void run(){
System.out.println("hello Spring");
}
}
package com.qcby.service;
public class User {
// 编写成员属性,一定需要提供该属性的set方法
//IOC容器底层就通过属性的set方法方式注入值
private int age;
private String name;
private Demo demo;
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setDemo(Demo demo) {
this.demo = demo;
}
@Override
public String toString() {
return "User{" +
"age=" + age +
", name='" + name + '\'' +
", demo=" + demo +
'}';
}
}
<?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">
<!-- IOC组件进程管理的javaBean -->
<!-- id:唯一表示符 class:类的全路径名称 -->
<bean id="user" class="com.qcby.service.User" >
<!--使用property完成属性注入
name:类里面属性名称
value:向属性注入值
ref:对象映射-->
<property name="age" value="18"></property>
<property name="name" value="张三"></property>
<property name="demo" ref="demo"></property>
</bean>
<bean id="demo" class="com.qcby.service.Demo" />
</beans>
import com.qcby.service.Demo;
import com.qcby.service.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class DemoTest {
/**
* 传统写法
*/
@org.testng.annotations.Test
public void testDemo(){
Demo demo = new Demo();
demo.run();
}
@Test
public void run1(){
//创建spring工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//获取bean对象
User user = ac.getBean("user", User.class);
System.out.println(user.toString());
}
}