問題タブ [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.
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を使用していることに注意してください
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 を試して、問題が「修正」されるかどうかを確認しようとしています。
spring - アノテーションのみを使用して、SpringサービスBeanを名前で上書きする方法
SpringBeanが次のように構成されているとします。
そしてこのBeanを使ったクラス
ここで、前述のクラスを含むプロジェクトに、注入Consumer
の別の実装を持たせたいと思います。MyService
したがって、Beanを上書きしたいと思いますmyService
その結果、代わりにのConsumer
インスタンスが実行されます。定義上、Springコンテナに同じ名前のBeanを2つ含めることはできません。新しいサービスの定義が古いサービスを上書きすることをSpringにどのように伝えることができますか?クラスを変更したくありません。SpecializedService
DefaultService
Consumer
spring - 春の自動配線は失敗しますが、appcontext は Bean を解決します
春には次の問題があります。私は webapp と domain プロジェクトを持っています。ドメイン プロジェクトには、Web アプリケーションのクラスでオートワイヤリングを介して注入する必要がある studentService が含まれています。appcontext.xml に と を追加しました。
これは webapp のクラスです。
次に、学生サービス:
したがって、アプリを起動すると、studentService が null であることがわかりますが、appcontext を取得してメソッド getBean("studentService") を呼び出すと、studentservice インスタンスが返されます。私は春3.0.5を使用しています。自動配線が失敗する理由を誰かが知っていますか?
乾杯、
マイケル
java - Hibernateエンティティの自動配線
アドバイスをいただけますか?HibernateエンティティのSpring自動配線をうまく有効にするにはどうすればよいですか?
私がエンティティを持っていて、そこにメール送信者が欲しいとしましょう:
するよりも良い方法はありますか
私のDAOで?
ありがとう!
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 を試しました。だから私はアイデアがありません
これを読んでくれてありがとう。
java - Ant を介して JUnit テストで自動配線できない - @RunWith(SpringJUnit4ClassRunner.class) が機能していないようです
私のテストケースは次のようになります。
何らかの理由で、Eclipse (Junit4 テスト ランナーを使用) または ant (Eclipse またはターミナルのみ) を使用して自分のコンピューターでローカルに実行すると、すべて正常に動作し、sessionFactory が正しく挿入されます。
このコードがサーバー (Hudson) にある場合、Hudson を介して実行するか、ant テストを実行してコンソールで実行します (テストは、junit テストをビルドして実行するためのターゲットです)。動作していません。nullpointerexception のスタック トレースを調べたところ、@RunWith アノテーションに SpringJUnit4ClassRunner が含まれているにもかかわらず、SpringJUnit4ClassRunner が使用されていないことがわかりました (ローカル コンピューターでは使用されています)。理由はありますか?SpringJUnit4ClassRunner を使用していないため、自動配線ではないと思います。
ありがとう
spring - スプリングインジェクションとオブジェクトのインスタンス化
私は豆の春のインスタンス化をよりよく理解しようとしています。私の疑問を説明するために、コントローラーに接続されているサービスクラスがあると仮定しましょう。ここに質問があります。
- Springはコントローラーのライフサイクルをどのように管理しますか?リクエストごとに新しいオブジェクトが作成されますか?
- サービスがインスタンス化されてコントローラーに接続されると、Springはそのオブジェクト参照を再利用して他のBeanに接続しますか?
spring - @Autowire デフォルト モード
Spring Bean はどのように機能し@Autowire
ますか? byName または byType? 不可能な場合は、別のモードを使用して 2 回目の試行を行いますか?
spring - 春の自動配線セッター/コンストラクターの長所と短所
@Autowired(xml構成ではない)を使用する場合、誰かがセット/コンストラクターバインディングの長所と短所を比較できますか?
次の例を参照してください。