Spring入门-----7依赖注入之c命名和p命名空间注入
Posted 我永远信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring入门-----7依赖注入之c命名和p命名空间注入相关的知识,希望对你有一定的参考价值。
环境搭建
(1).创建User类
public class User {
private String name;
private int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\\'' +
", age=" + age +
'}';
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(2).创建userBeans.xml
<?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
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--p命名空间注入可以直接注入属性的值 p:property-->
<bean id="user" class="com.yong.pojo.User" p:name="蟀蟀哥" p:age="18"/>
<!--c命名空间注入 ,通过构造器注入 c:constructs-->
<bean id="user2" class="com.yong.pojo.User" c:name="刷刷个" c:age="19"/>
</beans>
(3).测试创建MyTest类
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("userBeans.xml");
User user = context.getBean("user", User.class);
User user2 = context.getBean("user2", User.class);
System.out.println(user);
System.out.println(user2);
}
}
(4).运行结果
代码解释:
1、p命名空间注入
对应了set的属性注入。
在applicationContex.xml中增加:
xmlns:p="http://www.springframework.org/schema/p"
在配置文件中加入
<!--p命名空间注入可以直接注入属性的值 p:property-->
<bean id="user" class="com.yong.pojo.User" p:name="蟀蟀哥" p:age="18"/>
2、c命名空间注入
对应了构造器注入
在applicationContex.xml中增加:
xmlns:c="http://www.springframework.org/schema/c"
在User类中增加无参、有参构造器
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
在配置文件中加入
<!--c命名空间注入 ,通过构造器注入 c:constructs-->
<bean id="user2" class="com.yong.pojo.User" c:name="刷刷个" c:age="19"/>
以上是关于Spring入门-----7依赖注入之c命名和p命名空间注入的主要内容,如果未能解决你的问题,请参考以下文章