看Spring in action的时候看过p标签,可惜这东西不用就忘。
p标签是为了简化setter的注入而引入的。
用法:
p:属性 = "{值}" p:属性-ref = "{引用bean的id}"
示例Bean:
package o3.bean; import java.util.Date; public class Person { private String name; private int age; private Date date; public String getName(){ return name; } public void setName(String name){ this.name = name; } public int getAge(){ return age; } public void setAge(int age){ this.age = age; } public Date getDate(){ return date; } public void setDate(Date date){ this.date = date; } @Override public String toString(){ return "Person{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ", date=" + date + ‘}‘; } }
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:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="o3.bean"/> <bean id="person" class="o3.bean.Person"> <property name="name" value="Kute"/> <property name="age" value="22"/> <property name="date" ref="date"/> </bean> <bean id="date" class="java.util.Date" autowire="constructor"/> <bean id="person2" class="o3.bean.Person" p:name="Bill" p:age="23" p:date-ref="date" /> </beans>
测试代码:
package o3; import o3.bean.Person; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class P { private ApplicationContext ac; @Before public void setUp(){ ac=new ClassPathXmlApplicationContext("classpath:applicationContextPerson.xml"); } @Test public void run1(){ Person person = ac.getBean("person", Person.class); Person person2 = ac.getBean("person2", Person.class); System.out.println(person); System.out.println(person2); } }
测试结果:
Person{name=‘Kute‘, age=22, date=Fri May 27 10:13:27 CST 2016} Person{name=‘Bill‘, age=23, date=Fri May 27 10:13:27 CST 2016}
时间: 2024-10-15 17:30:52