在Spring框架中,你可以使用XML配置檔案或者註解的方式為bean的屬性注入值。對於Date型別的屬性,比如你提到的setBirth(Date birth)方法,你可以使用Spring的
- 實體類
public class SimpleValueType{
private Date birth;
public void setBirth(Date birth) {
this.birth = birth;
}
// 省略其他方法和getter
}
- 常見的做法是在程式碼中處理日期的轉換,而不是在Spring配置檔案中。你可以在Person類中新增一個接受字串型別引數的setBirth方法,並在該方法內部將字串轉換為Date物件。然後,你可以在Spring配置檔案中直接注入一個字串形式的日期。
將上述實體類修改
public class SimpleValueType{
private Date birth;
public void setBirth(String birthStr) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
this.birth = sdf.parse(birthStr);
}
// 省略其他方法和getter
}
- spring配置檔案
<bean id="svt" class="com.example.Person">
<property name="birth" value="2023-03-15"/>
</bean>
- 測試
@Test
public void testSimpleClassTest(){
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("beans.xml");
SimpleValueType svt = classPathXmlApplicationContext.getBean("svt", SimpleValueType.class);
System.out.println(svt);
}
輸出birth=Thu Jan 02 00:00:00 CST 2020
返回的是一個 Date 物件,而 Date 物件本身並不包含格式資訊。