問題タブ [autowired]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
46245 参照

hibernate - Spring+Hibernate、Autowire sessionFactory を休止状態の DAO に

Hibernate API 3およびSpring 3.xに従って、Hibernate DAOを使用しています。単純に + ではなく a を使用します-これが良い選択であることを願っています... -sessionFactoryHibernateDaoSupportgetHibernateTemplate()

今の私の目標は、sessionFactory注釈を使用して DAO に自動配線することです。

spring.xmlはこれを持っています:

データ パッケージ内には、すべての DAO クラスと Service クラスがあります。

これは私の簡単HibernateDaoです:

spring.xmlロード中にエラーはありませんが、sessionFactoryそれでもnull.

私がしなければならないこと?

編集

これは私のsessionFactory宣言ですspring.xml

EDIT2sessionFactoryはnullではありませんが、別の種類の例外があります :

PersonHDAO豆が見つからないということでしょうか?

皆さんありがとう。

0 投票する
1 に答える
653 参照

java - 速度テンプレートを自動配線するにはどうすればよいですか?

私は使用する必要がある静的速度テンプレートを持っているので、代わりにそれを自動配線することが可能かどうか疑問に思っていました:

ありがとう

0 投票する
1 に答える
2859 参照

java - SpringJUnit4手動/自動配線のジレンマ

SpringのIoCコンテナ機能とコンテキスト設定についての基本的な理解不足でしか説明できない問題に遭遇したので、これについて説明を求めたいと思います。

参考までに、私が保守しているアプリケーションには、次のテクノロジーのスタックがあります。

  • Java 1.6
  • 春2.5.6
  • RichFaces 3.3.1-GA UI
  • Springフレームワークは、DAOサポートに使用されるSpringJDBCモジュールを使用したBean管理に使用されます
  • Mavenはビルドマネージャーとして使用されます
  • JUnit4.4がテストエンジンとして導入されました

私は過去にさかのぼって(原文のまま)アプリケーションのJUnitテストを作成していますが、驚いたのは、@Autowire表記を使用せずにセッターインジェクションを使用してBeanをテストクラスにインジェクトでき​​なかったことです。

セットアップ例とそれに付随する構成ファイルを提供します。

テストクラスTypeTestは本当に簡単です:

そのコンテキストは次のように定義されていTestStackOverflowExample-context.xmlます。

TestContext.propertiesクラスパスにあり、データソースに必要なデータベース固有のデータのみが含まれています。

これは魅力のように機能しますが、私の質問は、次のように手動でBeanをワイヤリングしてセッターインジェクションを実行しようとすると、なぜ機能しないのかということです。

ここで何が欠けていますか?ここで構成のどの部分が間違っていますか?セッターを介して手動でBeanを注入しようとすると、この部分が原因でテストが失敗します

実行時にnullとして解決されます。もちろん、私はSpringリファレンスマニュアルを参照して、XML構成のさまざまな組み合わせを試しました。私が結論付けることができるのは、SpringがSpring Test Context参照を適切に逆参照できないため、SpringがBeanを注入できなかったということだけですが、@ Autowiredを使用すると、これは「自動的に」発生します。これは、Autowiredアノテーションとその両方のJavaDocが原因であるためです。PostProcessorクラスはこれについて言及していません。

@Autowiredまた、ここでのみアプリケーションで使用されるという事実も追加する価値があります。他の場所では手動配線のみが実行されるので、これも疑問を引き起こします-私のテストでは、なぜここでは機能せず、ここで機能しないのですか?DI構成のどの部分が欠落していますか?Spring Contextの参照をどのように取得しますか?@Autowired

編集:私もこれを試しましたが、同じ結果になりました:

他に何かアイデアはありますか?

EDIT2:私は自分自身TestContextListenerやを書くことに頼ることなく方法を見つけましたBeanPostProcessor。それは驚くほど単純で、最後の編集で正しい方向に進んでいたことがわかりました。

1)コンストラクターベースのコンテキスト解決:

2)ApplicationContextAwareインターフェースを実装することにより:

これらのアプローチは両方とも、適切にインスタンス化されたBeanです。

0 投票する
2 に答える
10018 参照

java - サーブレットでのSpring@Autowired

私はアプリでSpringフレームワーク(2.5.4)をロードタイムウィービングで使用しており、@ Configurableとして注釈が付けられたサーブレットでフィールドを自動配線しようとした場合を除いて、すべてがどこでも正常に機能します(Spring Bean、非Springエンティティ)。素敵なNullPointerExceptionが発生します...



私が間違って何をしているのかについての提案はありますか?

ありがとう。

0 投票する
2 に答える
365 参照

spring - Spring:オブジェクトは自動配線されておらず、別のクラスで正常に動作します

utilクラスを作成していますが、問題はサービスクラスが自動配線されていないことです。autowiredクラスは他の場所でも使用されているので、autowireコードをコピーしました。そして、パッケージがスキャンされています。

このzがまだnullであるにもかかわらず、なぜ誰かが何か考えを持っていますか?

0 投票する
3 に答える
3482 参照

spring - Spring:Beanのプロパティ(他のBeanを参照)をオプションとして定義します

2つのBean定義があります。

ファイルa.xml

ファイルb.xml

場合によっては、ファイルb.xmlにBean Bの定義が含まれていません。
また、反対側から見ると、ファイルa.xmlには常にB定義へのリンクが含まれています。

回避するために、BBeanへの参照をオプションとして定義する方法org.springframework.beans.factory.NoSuchBeanDefinitionException

0 投票する
7 に答える
59203 参照

spring - Spring@Autowiredが機能しない

自動配線注釈に問題があります。私のアプリは次のようになります。

これがコントローラーです:

これはサービスレイヤーです。

そしてDAOレイヤー:

これはapp-service.xmlファイルです。

だから...私がウェブアプリを起動しているとき、MyController Autowiresは正しく(someServiceImplクラスオブジェクトによって正しく注入されたsomeServiceフィールド)、しかしsomeServiceのmyDAOフィールドはnull値を持っています(正しく注入されていません)。

問題を見つけるのを手伝ってもらえますか?

PS興味深いですが、「Bean ID」をmyDAOから別のID(myDAO2など)に変更すると、Bean myDAOが存在しないため、システムから注入が実行できなかったというエラーが表示されます。それで、春は注射をします、しかしそれはどこにありますか?そして、なぜそれが正しく機能しないのですか?

0 投票する
2 に答える
15589 参照

java - spring-nullpointerexception - 注釈なしのクラスで自動配線された注釈付きサービス (ま​​たは dao) にアクセスできない

解決できないこの問題があります。

私の から、自動配線されたクラス@Controllerに簡単にアクセスして、問題なく遊ぶことができます。@Serviceしかし、注釈なしで別のクラスからそれを行うと、NullPointerException.

私のコントローラー(動作)-

私の別のJavaクラス(動作していません)-

また

userService または userDao は常に null です。それらのいずれかが機能するかどうかを試してみました。

私のコンポーネント スキャン設定には、スキャン用のルート レベル パッケージが設定されているので、問題ありません。

私のサーブレットコンテキスト -

どんな手掛かり?

0 投票する
5 に答える
39725 参照

spring - アノテーションを使用して Spring MVC インターセプターを配線することは可能ですか?

アノテーションを使用して Spring MVC インターセプターを配線することは可能ですか?もしそうなら、誰かがその方法の例を教えてくれますか?

注釈を介してワイヤで、XML 構成でできる限り少ないことを指しています。たとえば、http://www.vaannila.com/spring/spring-interceptors.htmlで見つけたこの構成ファイルでは、

そこでは、どのくらいわずかな設定で済むでしょうか? 行 2 で Bean を明示的に宣言する必要がなくなると思い@Autowiredますが、行 1 も注釈で取り除くことは可能でしょうか?

0 投票する
2 に答える
2008 参照

spring - 名前でSpring@Autowiredを使用するライブラリでProguardを使用する

私はProguardを使用して、いくつかの@Autowiredフィールドを持つライブラリを難読化しています。難読化ツールはこれらのクラスフィールドの名前を変更しているため(クラスのプライベート/内部であるため)、私のBeanはインスタンス化に失敗しています。

事前に難読化:

難読化後:

現在、これらの特定のフィールドを自動配線されないようにする方法はたくさんありますが、私が見つけたいと思っていたのは、重要なSpring-ism(@Autowiredなど)で注釈が付けられた内部フィールドを難読化しないようにProguardに指示する方法でした。 。

誰かが私がこれを一般的にどのように行うことができるかについての考えを持っていますか?

許す