問題タブ [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.
hibernate - Spring+Hibernate、Autowire sessionFactory を休止状態の DAO に
Hibernate API 3およびSpring 3.xに従って、Hibernate DAOを使用しています。単純に + ではなく a を使用します-これが良い選択であることを願っています... -sessionFactory
HibernateDaoSupport
getHibernateTemplate()
今の私の目標は、sessionFactory
注釈を使用して DAO に自動配線することです。
私spring.xml
はこれを持っています:
データ パッケージ内には、すべての DAO クラスと Service クラスがあります。
これは私の簡単HibernateDao
です:
spring.xml
ロード中にエラーはありませんが、sessionFactory
それでもnull
.
私がしなければならないこと?
編集
これは私のsessionFactory
宣言ですspring.xml
:
EDIT2sessionFactory
はnullではありませんが、別の種類の例外があります
:
PersonHDAO
豆が見つからないということでしょうか?
皆さんありがとう。
java - 速度テンプレートを自動配線するにはどうすればよいですか?
私は使用する必要がある静的速度テンプレートを持っているので、代わりにそれを自動配線することが可能かどうか疑問に思っていました:
ありがとう
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です。
java - サーブレットでのSpring@Autowired
私はアプリでSpringフレームワーク(2.5.4)をロードタイムウィービングで使用しており、@ Configurableとして注釈が付けられたサーブレットでフィールドを自動配線しようとした場合を除いて、すべてがどこでも正常に機能します(Spring Bean、非Springエンティティ)。素敵なNullPointerExceptionが発生します...
私が間違って何をしているのかについての提案はありますか?
ありがとう。
spring - Spring:オブジェクトは自動配線されておらず、別のクラスで正常に動作します
utilクラスを作成していますが、問題はサービスクラスが自動配線されていないことです。autowiredクラスは他の場所でも使用されているので、autowireコードをコピーしました。そして、パッケージがスキャンされています。
このzがまだnullであるにもかかわらず、なぜ誰かが何か考えを持っていますか?
spring - Spring:Beanのプロパティ(他のBeanを参照)をオプションとして定義します
2つのBean定義があります。
ファイルa.xml
ファイルb.xml
場合によっては、ファイルb.xmlにBean Bの定義が含まれていません。
また、反対側から見ると、ファイルa.xmlには常にB定義へのリンクが含まれています。
回避するために、BBeanへの参照をオプションとして定義する方法org.springframework.beans.factory.NoSuchBeanDefinitionException
spring - Spring@Autowiredが機能しない
自動配線注釈に問題があります。私のアプリは次のようになります。
これがコントローラーです:
これはサービスレイヤーです。
そしてDAOレイヤー:
これはapp-service.xmlファイルです。
だから...私がウェブアプリを起動しているとき、MyController Autowiresは正しく(someServiceImplクラスオブジェクトによって正しく注入されたsomeServiceフィールド)、しかしsomeServiceのmyDAOフィールドはnull値を持っています(正しく注入されていません)。
問題を見つけるのを手伝ってもらえますか?
PS興味深いですが、「Bean ID」をmyDAOから別のID(myDAO2など)に変更すると、Bean myDAOが存在しないため、システムから注入が実行できなかったというエラーが表示されます。それで、春は注射をします、しかしそれはどこにありますか?そして、なぜそれが正しく機能しないのですか?
java - spring-nullpointerexception - 注釈なしのクラスで自動配線された注釈付きサービス (または dao) にアクセスできない
解決できないこの問題があります。
私の から、自動配線されたクラス@Controller
に簡単にアクセスして、問題なく遊ぶことができます。@Service
しかし、注釈なしで別のクラスからそれを行うと、NullPointerException
.
私のコントローラー(動作)-
私の別のJavaクラス(動作していません)-
また
userService または userDao は常に null です。それらのいずれかが機能するかどうかを試してみました。
私のコンポーネント スキャン設定には、スキャン用のルート レベル パッケージが設定されているので、問題ありません。
私のサーブレットコンテキスト -
どんな手掛かり?
spring - アノテーションを使用して Spring MVC インターセプターを配線することは可能ですか?
アノテーションを使用して Spring MVC インターセプターを配線することは可能ですか?もしそうなら、誰かがその方法の例を教えてくれますか?
注釈を介してワイヤで、XML 構成でできる限り少ないことを指しています。たとえば、http://www.vaannila.com/spring/spring-interceptors.htmlで見つけたこの構成ファイルでは、
そこでは、どのくらいわずかな設定で済むでしょうか? 行 2 で Bean を明示的に宣言する必要がなくなると思い@Autowired
ますが、行 1 も注釈で取り除くことは可能でしょうか?
spring - 名前でSpring@Autowiredを使用するライブラリでProguardを使用する
私はProguardを使用して、いくつかの@Autowiredフィールドを持つライブラリを難読化しています。難読化ツールはこれらのクラスフィールドの名前を変更しているため(クラスのプライベート/内部であるため)、私のBeanはインスタンス化に失敗しています。
事前に難読化:
難読化後:
現在、これらの特定のフィールドを自動配線されないようにする方法はたくさんありますが、私が見つけたいと思っていたのは、重要なSpring-ism(@Autowiredなど)で注釈が付けられた内部フィールドを難読化しないようにProguardに指示する方法でした。 。
誰かが私がこれを一般的にどのように行うことができるかについての考えを持っていますか?
許す