2012-05-31 269 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