Spring提供了p、c命名空间注入,实际上p就是property的意思、c就是constructor-arg的意思。算是对构造器注入和set注入的简化吧!
使用c、p命名空间注入需要引入两个标签在beans的配置中。
<!-- p命名空间依赖 -->
xmlns:p="http://www.springframework.org/schema/p"
<!-- c命名空间依赖 -->
xmlns:c="http://www.springframework.org/schema/c"
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String name;
private int age;
}
1. p命名空间使用
-
在beans的xml配置项中引入p命名空间依赖
-
在使用之前保证实体类中必须要有Set方法、空构造器。
<bean id="user" class="com.pojo.User" p:age="18" p:name="小明"/>
2. c命名空间使用
-
在beans的xml配置项中引入c命名空间依赖
-
实体类中必须要有有参构造方法
<bean id="user2" class="com.pojo.User" c:age="20" c:name="大明"/>