p命名空间&c命名空间
<?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命名空间约束 xmlns:p="http://www.springframework.org/schema/p" --> <!-- p命名空间注入,可以直接注入属性的值--> <bean id="user" class="com.kuang.pojo.User" p:name="Bear" p:age="18"/> <!-- c命名空间注入,通过构造器注入:construct-args--> <bean id="user2" class="com.kuang.pojo.User" c:name="kuang" c:age="18"/> </beans>
测试:
@Test public void test2() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("userbean.xml"); User user = context.getBean("user2", User.class); // 后面使用类反射可以不用强转 System.out.println(user); }
注意:p命名和c命名不能直接使用,需要导入xml约束
xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c"