c命名和p命名
导入
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
代码演示
package com.tian.pojo;
public class User {
private String name;
private int age;
//有参(c命名要用的)无参 set get toString
}
<?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"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--p命名空间注入: 可以直接注入属性的值,property-->
<bean id="user" class="com.tian.pojo.User" p:name="张三" p:age="18"/>
<!--c命名空间注入:通过构造器注入 construc-args -->
<bean id="user2" class="com.tian.pojo.User" c:age="20" c:name="李四"/>
</beans>
测试
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("UserBean.xml");
// User user = (User) context.getBean("user");
// User user = context.getBean("user", User.class);
User user = context.getBean("user2", User.class);
System.out.println(user);
}