2016-10-15 14 views
0

これは非常に簡単な質問かもしれません。私はSpringの初心者なので、実行時にSpring Beanに値を割り当てる方法を理解できません。実行時にSpring Beanにプロパティ値を追加する

私は春を学ぶためのチュートリアルに従いましたが、今は春を始める方法を知っています。私はBean定義が宣言されたSpring beans.xmlを理解できます。xml構成の代わりに使用できるいくつかの注釈を理解できます。しかし、私は以下の設定を行う方法を理解できません。

私のクラスが「学生」であるとしましょう。各生徒オブジェクトには名前と年齢があります。

public class Student { 
    private String name; 
    private int age; 

    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public int getAge() { 
     return age; 
    } 
    public void setAge(int age) { 
     this.address = address; 
    } 

} 

は、これは私がこのセッターインジェクションと私は完全に大丈夫だBean構成

​​

ためBeans.xmlファイルにエントリを書き込みます方法です。限り、xmlファイルを使用してプロパティの値を変更することができます、私は学生のプロパティを変更することができます。

しかし、学生を登録するにはアプリケーションが必要だと考えてみましょう。アプリケーションのフロントエンドフォームを使用して、名前と年齢を入力します。私の質問は、これらの名前と年齢の値をStudent Beanにどのように注入できるかです。今は実行中のアプリケーションを扱っています。

ユーザーの入力を受け入れるようにxmlを変更する必要があるのは理解できません。私が従った初心者のチュートリアルでは、このような状況を処理する方法は見つけられませんでした。彼らが教えることは、私がすでに知っていることです。

私はこれについていくつかの教訓を欠いていると思います。私の問題を解決するために私を案内してください。可能であれば、いくつかのサンプルコードは私が理解するのに非常に役立ちます。

ありがとうございました!

答えて

2

あなたのユースケースは春には魅力的ではないため、問題のチュートリアルはありません。実際には、あなたがやろうとしていることを達成するために春を使用しません。 Springは、シングルトンの振る舞いを持つクラスの依存関係注入に最も適しています。たとえば、通常はアプリケーション全体で単一インスタンスが必要なサービスクラスです。

一般的に、私たちはあなたが近づいているユースケースに対して、休止状態のようなORMを使用します。

2

豆はバリューオブジェクトには適していないため、アプローチが機能していません。

Beansは、プログラムの実行中に長時間実行されるインスタンス化されたクラスであり、Springによって管理されます。これには、ビジネスロジックを提供するクラス、またはデータベース接続やソケットサーバーなどのプログラム機能を提供するクラスのインスタンスが含まれます。

値オブジェクトは、学生クラスのようにアプリケーションによって使用される短命のデータオブジェクトインスタンスです。それらはあなたのプログラムコードによって管理されます。

+0

「学生」はバリューオブジェクトではなくエンティティですが、これを受け入れることでそれをうまく説明できたと思います。 – Ralph

+0

ありがとう@Ralph、あなたはおそらく正しいでしょう。 – Leon

関連する問題