我需要使用基于xml的依赖注入将java.sql.Time
对象注入Subject
bean。
这是我的Subject
类定义。
public class Subject{
private java.sql.Time startedTime;
}
在Java代码中,这将是实现它的方法。
Subject subject = new Subject();
Time startedTime = Time.valueOf("HH:MM:SS");
subject.setStartedTime(startedTime);
但是现在我需要通过xml对Time
bean中的Subject
对象进行相同的注入
<bean id="startedTime" class="mx.com.project.Subject">
<property name="startedTime">
<!-- java.sql.Time injection-->
</property>
</bean>
我一直在网上寻找一段时间,但没有找到任何关于此的例子。通过使用Date
Customer
转换为"yyyy-MM-dd"
对象,只需一个Date
属性注入SimpleDateFormat.parse("yyyy-MM-dd")
对象
这让我觉得应该有类似的方法将String
转换为Time
对象。这是我找到的例子。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd" />
</bean>
<bean id="customer" class="com.mkyong.common.Customer">
<property name="date">
<bean factory-bean="dateFormat" factory-method="parse">
<constructor-arg value="2010-01-31" />
</bean>
</property>
</bean>
</beans>
答案 0 :(得分:1)
在对象中执行从String到Time的转换。
public class Subject
{
private java.sql.Time startedTime;
// blah. your stuff.
public void setStartedTimeValue(final String startedTimeValue)
{
startedTime = Time.valueof(startedTimeValue);
}
}
<bean id="startedTime" class="mx.com.project.Subject">
<property name="startedTimeValue" value="20:14:37"/>
</bean>
答案 1 :(得分:0)
这个问题的第一个正确答案。
<property name="startedTime">
<bean factory-method="valueOf" class="java.sql.Time">
<constructor-arg value="16:00:00" />
</bean>
</property>