首先在配置文件中加入p命名空间和c命名空间的配置
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
在bean配置中使用p命名空间和c命名空间
<!--使用p命名空间直接实现属性的注入-->
<bean id = "user" class="indi.stitch.pojo.User" p:name="小明" p:age="18" />
<!--使用c命名空间通过构造方法实现属性的注入-->
<bean id = "user2" class="indi.stitch.pojo.User" c:name="小李" c:age="18" />
User实体类:
package indi.stitch.pojo;
public class User {
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
private String name;
private int 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 "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
测试类
import indi.stitch.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
@Test
public void test2() {
ApplicationContext context = new ClassPathXmlApplicationContext("namespace.xml");
User user = context.getBean("user", User.class);
User user2 = context.getBean("user2", User.class);
System.out.println(user.toString() + user2.toString());
}
}
输出结果