最近开发一个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
例に従ってさらに 2 行を記述します。
リーリーWeb プロジェクトで最初にリクエストを処理するレイヤーは、引き続き getBeans() を通じて生成する必要があります。このステップは tomcat/strtus/springMVC によって実行されるというだけです。
Spring は、によって管理されるクラスを自動的に挿入します。ただし、プログラムによって開始される メイン クラスは、Spring 管理によって生成されません。
Autowired が必要です
Spring の依存関係注入を使用するには、まず Spring から Bean を取得して、Bean の依存関係が注入されていることを確認する必要があります。新しいオブジェクトを自分で作成した場合、Spring はどのようにしてそれを挿入できるでしょうか?
getBeans メソッドを自分でカプセル化できます
HELLO をメンバー変数として扱い、@autowired または @Resourse に移動する必要があります
依存関係の注入は 2 つのステップにすぎません:
Bean を宣言
Bean を注入
Bean を宣言する方法:
xml 付き
@Component、@Service などをクラスに追加します
@Configuration を使用してクラスに @Bean メソッドを記述します
豆の注入方法:
xml 付き
@Autowire のような注釈
完全ではないかもしれませんが、これらは一般的に使用されるものであるはずです。詳細については、Spring のドキュメントと ioc の部分を参照してください。
質問しましょう
Web アプリケーションでは web.xml でリスナーを設定する必要はありません (前提条件は servlet3.0 以降 (tomcat7+ など))
Java アプリケーションの場合は、Spring Boot を試してみてはいかがでしょうか?
推奨トピック所有者は @Chachage Servlet 3 + Spring MVC ゼロ構成: すべての xml を削除することを参照してください