IOC的C标签和P标签
前沿:C标签和P标签用法相同,只不过导入的并不一样,要注意的是使用C标签是构造注入需要在实体类中有无参和有参的构造,P标签则不同他是通过Set注入所以他两者使用的时候并无很大的区别,但是他的进行注入方式有很大的区别,这个一定要注意!
C标签和P标签需要导入XML的约束
p标签: xmlns:p="http://www.springframework.org/schema/p"
C标签: xmlns:c="http://www.springframework.org/schema/c"
1.首选创建实体类
注:肯定是先写实体类,不写实体类怎么进行注入?我2中标签都使用,所以无参、有参、get、set、tostring都写了
public class TestBean {
private String name;
private String pwd;
public TestP() {
}
public TestP(String name, String pwd) {
this.name = name;
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "TestP{" +
"name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
2.创建Spring的xml
注:记得xml中头部需要引入P、C标签的xmlns
<?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">
<!-- C标签-->
<bean id="C" class="com.zzy.pojo.TestP" c:name="name" c:pwd="pwd"></bean>
<!-- P标签-->
<bean id="P" class="com.zzy.pojo.TestP" p:name="name" p:pwd="pwd"></bean>
<!-- 错误演示,千万要看清楚,别把C和P写在一起,会出现报错-->
<bean id="X" class="com.zzy.pojo.TestP" c:name="name" p:pwd="pwd"></bean>
</beans>
3.创建Test测试类
注:test测试类我就不写注释了...
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beanp.xml");
TestP test = (TestP) context.getBean("C");
System.out.println(test);
}

浙公网安备 33010602011771号