2012-05-31 278 views
0

我尝试DI Date对象依赖注入Date对象

这里的XML文件

<bean id="date" class="java.util.Date"/> 
<bean id="obj" class="com.Person.Implementor" autowire="byName"> 
    <property name="username"><value>Abc</value></property> 
    <property name="password"><value>password</value></property> 
</bean> 

这里代码的类:

package com.Person; 
import java.util.Date; 
import org.springframework.beans.factory.annotation.Autowired; 
public class Implementor { 

String username; 
String password; 

Date date; 

public Date getDate() { 
    return date; 
} 

@Autowired 
public void setDate(Date date) { 
    this.date = date; 
} 

@Override 
public String toString() { 
    return "Implementor [username=" + username + ", password=" + password 
      + ", date=" + date + "]"; 
} 


public String getUsername() { 
    return username; 
} 
public void setUsername(String username) { 
    this.username = username; 
} 
public String getPassword() { 
    return password; 
} 
public void setPassword(String password) { 
    this.password = password; 
} 

} 

但它似乎没有工作时,Date引用在打印时似乎具有NULL值,对于自定义创建的类很难使用

更新:得到了回复支持表格弹簧: http://forum.springsource.org/showthread.php?127017-Dependancy-Injection-for-Date-Object&p=414519#post414519

“这是通过春季设计。 Spring不会为“简单”属性进行自动布线,例如基元,字符串和日期。但是我没有看到你用Date类型自动连线bean的好理由。 “

+3

注入日期背后的原因是什么? – dardo

+1

如果你对春季支持的答案没问题,那就发表一个答案并接受。 –

回答

0

是否有更多的Spring配置文件?既然你需要<context:annotation-config />激活后置处理器里面做的自动装配。

这似乎很奇怪,指定两个XML之间的依赖关系,然后使用自动装配对于第三在这种情况下,它会更一致做这样的事情:

<bean id="obj" class="com.Person.Implementor" autowire="byName"> 
    <property name="username"><value>Abc</value></property> 
    <property name="password"><value>password</value></property> 
    <property name="date"><ref bean = "date"/></property> 
</bean> 
+0

刚刚得到了Spring支持论坛的回复,”这是Spring设计。 Spring不会为“简单”属性进行自动布线,例如基元,字符串和日期。但是我没有看到你用Date类型自动连线bean的好理由。 “,感谢您的帮助 – Akash