p命名空間是set注入的一種快捷實現方式,想要使用p命名空間注入,須要注意一下幾點。spring
1. 實體類中必須有set方法;ide
2. 實體類中必須有無參構造器(默認存在);this
3. 必須導入p命名空間注入方式依賴。spa
xml依賴代碼:code
xmlns:p="http://www.springframework.org/schema/p"
導入後便可使用xml
<bean id="user" class="com.yd.pojo.User" p:age="18" p:name="老王"/>
c命名空間是構造器注入的一種快捷實現方式,想要使用c命名空間,須要注意一下幾點。blog
1. 實體類中必須存在有參構造器;get
2. 必須導入c命名空間注入方式依賴。class
xml依賴代碼:命名空間
xmlns:c="http://www.springframework.org/schema/c"
導入後便可使用
<bean id="user2" class="com.yd.pojo.User" c:age="23" c:name="中王"/>
當使用p命名空間注入時的實體類能夠這樣寫:
package com.yd.pojo; public class User { 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 + '}'; } }
當使用c命名空間注入方式時,實體類能夠這樣寫
package com.yd.pojo; public class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + '}'; } }