0

SpringFrameworkは初めてです。たぶん、これはSpringフレームワークに関連するというよりもJavaEEBeanの設計に関する質問です。とにかく、私はそれを撃って、自分自身をどれほど明確にすることができるかを見るだけです。

だから私はサービスを持っています。このサービスは、コンストラクターパラメーターとして接続文字列を受け取ります。次に、このサービスを使用して、接続文字列で示される場所にファイルをアップロードできます。

したがって、次のようなものから始めます。

public class MyService{
    public MyService(String connectionStr){ ... }
}

このようなサービスが必要な場合は、次の電話番号に電話してください。

MyService service = new MyService("xxx");
...

それは私が以前やっていたことです。特別なことは何もありません。さて、Springの下でJavaでそれを行うとしたら、どういうわけかサービスをBeanにしたいのです。私はこれを行う必要があります:

@Component
public class MyService{
    @Autowired
    public MyService(@Value(...some connection string...) String connectionStr) {...}
}

しかし、コンパイル時に依存性を注入する方法がわかりません。サービスを作成するために渡す接続文字列がわかりません。Springチュートリアルを読んだとき、それらのほとんどにはXML構成ファイルにコード化されたパラメーターがあります。上記のようなSpringBeanを設計できますが、実行時にパラメーターを渡す必要がありますか?

ありがとう。

4

2 に答える 2

2

次のようなメソッドを設計できます。

void upload(String location,XXX other parameters);
于 2012-12-15T07:32:27.243 に答える
0

あなたの質問はよくわかりませんでしたが、答えてみます。

本当に春に行きたいかどうかはこちらかグーグルでチェックしてみてください。あなたのクエリに来て、あなたのサービスのために、春のコンテキストでこのようなものを定義する必要があります。

<bean id="myService" class="com.blah.MyService">
    <constructor-arg>
        <value>http://HOST/test/</value>
    </constructor-arg>
</bean>

あなたのサービスクラスは、

public class MyService{

    public MyService(String connectionString) {...}
}

これは、アプリケーションでサービスを呼び出す方法です

ApplicationContext context = new ClassPathXmlApplicationContext(
                                new String[] { "context.xml" });
                MyService service = (MyService) context
                                .getBean("myService");

上記は、アノテーションを使用して実装することもできます。詳細はこちら

于 2012-12-15T07:35:11.020 に答える