検索

ホームページ  >  に質問  >  本文

Spring如何在Java应用程序中自动实现依赖注入

最近开发一个Java应用程序,希望能使用Spring来实现依赖注入。

在Web应用程序中,可以在web.xml文件中配置listener来自动实现注入。

在Java Application中,可以通过如下的方式来加载Spring:

ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");
Hello hello = ctx.getBeans("hello");

但这样的一个问题是,在每次使用一个bean时,都需要显示调用一次getBeans。

不知有什么好的方法,能够让Spring自动加载对象,而不需要显式调用getBeans?
更多 0

巴扎黑巴扎黑2817日前624

全員に返信(6)返信します

  • 迷茫

    迷茫2017-04-18 09:53:09

    例に従ってさらに 2 行を記述します。

    リーリー

    Web プロジェクトで最初にリクエストを処理するレイヤーは、引き続き getBeans() を通じて生成する必要があります。このステップは tomcat/strtus/springMVC によって実行されるというだけです。
    Spring は、によって管理されるクラスを自動的に挿入します。ただし、プログラムによって開始される メイン クラスは、Spring 管理によって生成されません。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:53:09

    Autowired が必要です

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:53:09

    Spring の依存関係注入を使用するには、まず Spring から Bean を取得して、Bean の依存関係が注入されていることを確認する必要があります。新しいオブジェクトを自分で作成した場合、Spring はどのようにしてそれを挿入できるでしょうか?

    getBeans メソッドを自分でカプセル化できます

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:53:09

    HELLO をメンバー変数として扱い、@autowired または @Resourse に移動する必要があります

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 09:53:09

    依存関係の注入は 2 つのステップにすぎません:

    1. Bean を宣言

    2. Bean を注入

    Bean を宣言する方法:

    1. xml 付き

    2. @Component、@Service などをクラスに追加します

    3. @Configuration を使用してクラスに @Bean メソッドを記述します

    豆の注入方法:

    1. xml 付き

    2. @Autowire のような注釈

    完全ではないかもしれませんが、これらは一般的に使用されるものであるはずです。詳細については、Spring のドキュメントと ioc の部分を参照してください。

    質問しましょう

    1. Web アプリケーションでは web.xml でリスナーを設定する必要はありません (前提条件は servlet3.0 以降 (tomcat7+ など))

    2. Java アプリケーションの場合は、Spring Boot を試してみてはいかがでしょうか?

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 09:53:09

    推奨トピック所有者は @Chachage Servlet 3 + Spring MVC ゼロ構成: すべての xml を削除することを参照してください

    返事
    0
  • キャンセル返事