1:通过set和构造器DI(依赖注入)
1:实体类
public class User1 {
private String name;
private String animal;
public User1() {
}
public User1(String name, String animal) {
this.name = name;
this.animal = animal;
}
public String getName() {
return name;
}
public String getAnimal() {
return animal;
}
public void setAnimal(String animal) {
this.animal = animal;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User1{" +
"name='" + name + '\'' +
", animal='" + animal + '\'' +
'}';
}
}
2:applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user1" class="com.dong.pojo.User1">
</bean>
</beans>
3:测试
public class Test1 {
@Test
public void test(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User1 user1 = context.getBean("user1", User1.class);
System.out.println(user1);
}
}
2:DI 通过p命名空间和c命名空间
p命名空间:调用无参构造创建对象和set方法依赖注入
1:导入约束
xmlns:p="http://www.springframework.org/schema/p"
2:实体类
public class User1 {
private String name;
private String animal;
public User1() {
}
public User1(String name, String animal) {
this.name = name;
this.animal = animal;
}
public String getName() {
return name;
}
public String getAnimal() {
return animal;
}
public void setAnimal(String animal) {
this.animal = animal;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User1{" +
"name='" + name + '\'' +
", animal='" + animal + '\'' +
'}';
}
}
3:applicationContext.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:p="http://www.springframework.org/schema/p"<!--p命名空间约束-->
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user1" class="com.dong.pojo.User1" p:name="东" p:animal="鱼">
</bean>
</beans>
c命名空间:调用有参构造创建对和依赖注入
1:导入约束
xmlns:c="http://www.springframework.org/schema/c"
2:实体类
public class User1 {
private String name;
private String animal;
public User1() {
}
public User1(String name, String animal) {
this.name = name;
this.animal = animal;
}
public String getName() {
return name;
}
public String getAnimal() {
return animal;
}
public void setAnimal(String animal) {
this.animal = animal;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User1{" +
"name='" + name + '\'' +
", animal='" + animal + '\'' +
'}';
}
}
3:applicationContext.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:p="http://www.springframework.org/schema/p"<!--p命名空间约束-->
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
测试
public class Test1 {
@Test
public void test(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User1 user1 = context.getBean("user1", User1.class);
System.out.println(user1);
}
}