問題タブ [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 投票する
2 に答える
2298 参照

java - プログラムによる Bean 作成を使用する汎用 Java サービスが EntityManager を注入しない

@Controller@Service@Entityおよび注釈付きのクラスの束を含む(うまくいけば)標準的なセットアップがあり@Repositoryます。たとえば、次のようになります。

どこにChannelDaoある:

ChannelImplは:

Channelは:

PersistentDaoは:

そして最後PersistentImplに:

これはすべて期待どおりに機能します。私は<context:annotation-config/><context:component-scan/>を とともに使用し<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ...>ていpersistence.xmlます。基本的にすべて動作します。

しかし、他にも多くのエンティティがあり、重複を避けたいので、 ChannelManager を一般化したいと考えています。たとえば、List<Job> allJobs() { return jobDao.findall(); }メソッドを持つ JobManager も必要です。

だから私はこれを作成しました:

そして、context.xmlを更新しました

最後に、コントローラーに宣言を追加しました。

Jobxxx クラスが Channelxxx クラスに似ていると想像してみてください。

しかし、特殊化でfindAll()メソッドを実行するとなるJobImplと、entityManager がnullになっているため、何かが正しく設定されていません。

だから私の質問は本当に「これができるか」ですか?これを行う別のより良い方法がある場合は、私に教えてください!

編集: Spring 3.0.5、Java 1.6.0_21-b07、およびHibernate 3.6.2.Finalを使用していることに注意してください

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

spring - tx:annotation-driven break @Autowired in scala

spring+scala 2.8 を使用しています。< tx:annotation-driven / > を介して春に有効になる @Transactional Bean (@Service でマーク) があり、Tomcat を起動すると、このサービス Bean で @Autowired を取得するコントローラーが autowire を見つけることができません候補者。@Service オブジェクトが明らかにインスタンス化されていたときに、候補オブジェクトが見つからなかった理由を突き止めようとして、私は自分を打ち負かしていました (これは log4j デバッグ メッセージで確認できました)。最終的に < tx:annotation-driven / > をコメントアウトして単純化することにしました。webapp は正常に起動します。

これが機能しない技術的な理由を誰かが提供できますか? @Qualifier を試して、問題が「修正」されるかどうかを確認しようとしています。

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

spring - アノテーションのみを使用して、SpringサービスBeanを名前で上書きする方法

SpringBeanが次のように構成されているとします。

そしてこのBeanを使ったクラス

ここで、前述のクラスを含むプロジェクトに、注入Consumerの別の実装を持たせたいと思います。MyServiceしたがって、Beanを上書きしたいと思いますmyService

その結果、代わりにのConsumerインスタンスが実行されます。定義上、Springコンテナに同じ名前のBeanを2つ含めることはできません。新しいサービスの定義が古いサービスを上書きすることをSpringにどのように伝えることができますか?クラスを変更したくありません。SpecializedServiceDefaultServiceConsumer

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

spring - 春の自動配線は失敗しますが、appcontext は Bean を解決します

春には次の問題があります。私は webapp と domain プロジェクトを持っています。ドメイン プロジェクトには、Web アプリケーションのクラスでオートワイヤリングを介して注入する必要がある studentService が含まれています。appcontext.xml に と を追加しました。

これは webapp のクラスです。

次に、学生サービス:

したがって、アプリを起動すると、studentService が null であることがわかりますが、appcontext を取得してメソッド getBean("studentService") を呼び出すと、studentservice インスタンスが返されます。私は春3.0.5を使用しています。自動配線が失敗する理由を誰かが知っていますか?

乾杯、

マイケル

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

java - Hibernateエンティティの自動配線

アドバイスをいただけますか?HibernateエンティティのSpring自動配線をうまく有効にするにはどうすればよいですか?

私がエンティティを持っていて、そこにメール送信者が欲しいとしましょう:

するよりも良い方法はありますか

私のDAOで?

ありがとう!

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

java - 春のプロジェクトで休止状態の自動配線に少し問題があり、Bean が見つからないというエラーが発生しました

<context:component-scan base-package />spring 3.0.5の機能を試してみたかった。

私は applicationContext にこのエントリを持っています:

POJOとDAOを作成する方法を知っているマネージャークラスがあります。

Pojo のようなもの:

私のテストクラスはそうです

私はこのエラーを抱えています:

org.springframework.beans.factory.NoSuchBeanDefinitionException: 依存関係に一致するタイプ [com.project.personal.admin.manager.Manager] の Bean が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ必要です。依存関係アノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

ほとんどの場合、各クラスの applicationcontext にエントリを作成し、それが機能しています。今回は、パッケージのスキャンを試してみました。それは私がうまくやっていないことですか?Autowired を試し、後で Resource を試しました。だから私はアイデアがありません

これを読んでくれてありがとう。

0 投票する
0 に答える
1687 参照

java - Ant を介して JUnit テストで自動配線できない - @RunWith(SpringJUnit4ClassRunner.class) が機能していないようです

私のテストケースは次のようになります。

何らかの理由で、Eclipse (Junit4 テスト ランナーを使用) または ant (Eclipse またはターミナルのみ) を使用して自分のコンピューターでローカルに実行すると、すべて正常に動作し、sessionFactory が正しく挿入されます。

このコードがサーバー (Hudson) にある場合、Hudson を介して実行するか、ant テストを実行してコンソールで実行します (テストは、junit テストをビルドして実行するためのターゲットです)。動作していません。nullpointerexception のスタック トレースを調べたところ、@RunWith アノテーションに SpringJUnit4ClassRunner が含まれているにもかかわらず、SpringJUnit4ClassRunner が使用されていないことがわかりました (ローカル コンピューターでは使用されています)。理由はありますか?SpringJUnit4ClassRunner を使用していないため、自動配線ではないと思います。

ありがとう

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

spring - スプリングインジェクションとオブジェクトのインスタンス化

私は豆の春のインスタンス化をよりよく理解しようとしています。私の疑問を説明するために、コントローラーに接続されているサービスクラスがあると仮定しましょう。ここに質問があります。

  1. Springはコントローラーのライフサイクルをどのように管理しますか?リクエストごとに新しいオブジェクトが作成されますか?
  2. サービスがインスタンス化されてコントローラーに接続されると、Springはそのオブジェクト参照を再利用して他のBeanに接続しますか?
0 投票する
6 に答える
26821 参照

spring - @Autowire デフォルト モード

Spring Bean はどのように機能し@Autowireますか? byName または byType? 不可能な場合は、別のモードを使用して 2 回目の試行を行いますか?

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

spring - 春の自動配線セッター/コンストラクターの長所と短所

@Autowired(xml構成ではない)を使用する場合、誰かがセット/コンストラクターバインディングの長所と短所を比較できますか?

次の例を参照してください。