2017-11-16 15 views
0

私は2つのdiff POJO(Bean Classes)を持っています。 2つのPOJOで2つの日付形式を使用できるように、SimpleDateFormatをdiff IDで2回初期化する必要がありますか?コンストラクタインジェクションを使用してspringのコンフィグレーションのXMLを初期化する方法

<bean id="dateFormatEmployee" class="java.text.SimpleDateFormat"> 
    <constructor-arg value="mm-dd-yy"></constructor-arg> 
    <constructor-arg value="true" /> 
</bean> 
<bean id="dateFormatUser" class="java.text.SimpleDateFormat"> 
    <constructor-arg value="dd-mm-yyyy"></constructor-arg> 
    <constructor-arg value="true" /> 
</bean> 
<bean id="employee" class="com.kranti.springcore.Employee"> 
    <constructor-arg name="dob"> 
     <bean factory-bean="dateFormatEmployee" factory-method="parse"> 
      <constructor-arg value="12-20-90"></constructor-arg> 
     </bean> 
    </constructor-arg> 
</bean> 
<bean id="user" class="com.kranti.springcore.User"> 
    <constructor-arg name="dob"> 
     <bean factory-bean="dateFormatUser" factory-method="parse"> 
      <constructor-arg value="20-12-1995"></constructor-arg> 
     </bean> 
    </constructor-arg> 
</bean> 
+0

を処理するサービスの豆を持っているとしましょう。 – pvpkiran

答えて

0

SimpleDateFormatスレッドセーフクラスではなく、シングルトンとして作成すべきではない - hereが理由です。回避策として、これらの形式をプロパティファイルに入れてみてください。必要に応じてこれらの形式をコードに挿入し、SimpleDateFormatクラスをインスタンス化するときに使用します。

あなたのプロパティファイルには、次のようになります。

date.format.user=dd-mm-yyyy 
date.format.employee=mm-dd-yy 

が必要にはいあなたは、従業員やユーザー

@Component 
public class Employee { 

    @Value("${date.format.employee}") 
    private String dateFormat; // this will end up with the value mm-dd-yy 

    public void doStuff() { 
     // your service code here 
     SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); 
     // do something with simpleDateFormat 
    } 

} 

@Component 
public class User { 

    @Value("${date.format.user}") 
    private String dateFormat; // this will end up with the value dd-mm-yyyy 

    public void doStuff() { 
     // your service code here 
     SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); 
     // do something with simpleDateFormat 
    } 

} 
関連する問題