問題タブ [spring-ioc]
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 - 実行時に決定される動的なプリミティブ値を使用したコンストラクター依存の注入
ラム時に動的な値を必要とするコンストラクターがあり、
依存性注入を引き続き使用できるかどうか疑問に思っていました。この場合、Spring を使用して依存性注入を行う方法を教えてください。
java - Spring: @Configuration を使用して動的に Bean を返す
特定の型のサブタイプのインスタンスを (実行時に) 動的に取得する必要があるとします。
Spring IC を使用してそれをどのように達成しますか?
java - 春号を使ってメニューバー付きスイングフレームを作る
Spring を使用してメニューバー付きのスイング フレームを作成しています。私の問題は、フレームを起動してもメニューバーがまったく表示されないことです。beans.xml と Bean クラスを表示します。理由を教えてください。メニューバーが表示されません。次のように 4 つの Bean があります。
MenuItem Bean:
Menu Bean :
MenuBar Bean:
および Frame Bean:
これは私のBean設定ファイルbeans.xmlです:
コードが長い場合は、ありがとうございます。
java - Spring アノテーションを使用して親クラスの依存関係を注入する適切な方法
私は次のコードを持っています -
Dao.java
dbContext.xml
applicationContext.xml
問題は、NamedParameterJdbcDaoSupport
機能するためにデータソースが必要なことです。これはスーパークラスのプロパティであり、自分のクラスではないため、機能させるために私が考えることができる唯一の方法は-
これはかなり醜いです。Bean のすべてのプロパティを自動配線するように指定できますか? 何かのようなもの -
これは春に可能ですか?または、スーパークラスの依存関係を注入する最もエレガントな方法は何ですか?
編集: 現在使用しているXMLを使用してこれを実行できることはすでに知っています。注釈のみを使用して実行できる最善の方法を知りたいです。
java - クラスのパッケージに基づいて注入する
クラスを含む2つのモジュールがあります:
これらの DAO はすべて同じサービスに依存していますが、パッケージに基づいて別のインスタンスを挿入する必要があります。
つまり、モジュール ブログには の特定のインスタンスがMyService
必要であり、モジュール ユーザーには の別のインスタンスが必要ですMyService
。
2 つの名前付きサービスを作成したくありません。いつの日か、すべての DAO で同じサービスを使用したいかもしれないからです。または、特定のクラスに別の特定のインスタンスを注入することもできます...
クラスのパッケージに基づいてサービスを注入する方法はありますか?
言い方:
- にあるクラスに
foo
(のインスタンス) を注入するMyService
blog.*
- にあるクラスに
bar
(のインスタンス) を注入するMyService
users.*
しかし、私のすべてのクラスにそれを知らせないでください!それらの構成は、「のインスタンスを注入する」のみを示す必要がありますMyService
。
java - Spring ジェネリック Hibernate DAO
すべての Hibernate DAO クラスが継承する Generic Hibernate DAO クラスを作成しています。春を使用してクラスの依存関係を注入しようとしていますが、例外が発生しています。
私の派生クラス
私の春のxml
これを実行すると、次のスタック トレースが得られます。
原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: private java.lang.Class com.example.dao.HibernateDaoImpl.clazz; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [java.lang.Class] が依存関係に見つかりません: この依存関係の autowire 候補として修飾される少なくとも 1 つの Bean が必要です。依存関係アノテーション: org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514) の {@org.springframework.beans.factory.annotation.Autowired(required=true)}。 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor の beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)。postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) ... 36 以上 原因: org.springframework.beans.factory.NoSuchBeanDefinitionException: タイプ [java.lang.Class] の適格な Bean が依存関係で見つかりません: として適格な少なくとも 1 つの Bean が期待されますこの依存関係の自動配線候補。依存関係のアノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:986) at org.springframework.beans. factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:856) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) at org.springframework.beans.
どうすればこれを修正できますか。
java - @ComponentScan から @Component を除外する
@ComponentScan
特定の から除外したいコンポーネントがあります@Configuration
:
そうしないと、プロジェクト内の他のクラスと衝突するようです。衝突を完全には理解していませんが、注釈をコメントアウトすると、@Component
思いどおりに動作します。しかし、このライブラリに依存する他のプロジェクトは、このクラスが Spring によって管理されることを期待しているため、私のプロジェクトでのみスキップしたいと考えています。
私は使用してみました@ComponentScan.Filter
:
しかし、うまくいかないようです。を使用しようとするとFilterType.ASSIGNABLE_TYPE
、一見ランダムなクラスを読み込めないという奇妙なエラーが発生します。
原因: java.io.FileNotFoundException: クラスパスリソース [junit/framework/TestCase.class] が存在しないため開けません
私もtype=FilterType.CUSTOM
次のように使用してみました:
しかし、それは私が望むようにコンポーネントをスキャンから除外していないようです。
どうすれば除外できますか?