問題タブ [spring-java-config]
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 構成を使用する場合、Shiro.ini で Shiro を構成する方法は?
Spring で Apache Shiro を使用し、Spring の Java 構成のみを使用しています。(xml なし)。以下は私の設定クラスの一部です:
ご覧のとおり、にshiro.ini
渡してロードしようとしていShiroFilterFactoryBean.setFilterChainDefinitions()
ます。
ただし、そのメソッドは[urls]
セクションのコンテンツのみをロードします。そのため、[main]
セクション内のものはそのまま残されます。
では、shiro.ini のすべての内容を使用して shiro を構成するにはどうすればよいでしょうか。
java - Spring - Java 構成 @Bean パラメーター
Spring 3.1.1 から 3.2.6 に更新しました
3.1 では、次のコードがうまく機能しました。
ただし、アップグレードされたバージョンでは、次の例外が発生します。
原因: org.springframework.beans.factory.NoSuchBeanDefinitionException: 依存関係に該当するタイプ [javax.sql.DataSource] の Bean が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ必要です。依存アノテーション: {@org.springframework.beans.factory.annotation.Qualifier(value=DemoDataSource)}
複数の DataSources があるため、 @Qualifier が必要です。
ありがとう。
編集:
これで問題が解決したようです:
しかし、私はそれが良い解決策だとは思いません。
java - SpringのJava構成を使用してフィルタの実行順序を指定する方法は?
イニシャライザに次のコードがあります。
CorsFilter
の前に処刑されたいShiroFilter
。ただし、Spring のドキュメントには、フィルターが実行される順序が、返された配列内の順序によって決定されるとは記載されていません。
もしそうなら、誰かがそれを明確にしてもらえますか? そうでない場合、誰かがフィルターの実行順序を保証する方法を提案できますか?
java - Spring Framework Java Configuration インジェクションの例はすべてバグがありますか?
それは私だけなのか、Spring の Java 構成に欠陥がある例がほとんどなのか疑問に思っています。たとえば、次のようにします。
http://spring.io/blog/2008/03/27/spring-java-configuration-what-s-new-in-m3 http://spring.io/blog/2013/07/18/javaconfig-support -in-the-spring-tool-suite
豆を注入する方法に注目してください。以下のように、メソッドを直接使用しnew OrderRepository(dataSource())
ます。
これは私に考えさせられました-2回使用すると2つのオブジェクトが作成されませんか? Springのシングルトン保証を効果的にバイパスしますか? 代わりに豆を注入しないのはなぜですか?依存関係フレームワークは、そもそも機能するように設計されているためです。
簡単なテストをしましょう。たとえば、TestParent と TestedChild の 2 つのクラスを取り上げます。親は子を受け入れます: new TestParent(new TestedChild())
. すぐにシングルトン Bean にします。
私が見たいのは、コンテキストの初期化中に作成された TestedChild の 2 つの異なるインスタンスを実際に取得できるかどうかです。シングルトン Bean を構成しましょう。
作成時に同じ TestedChild を注入する必要がある 2 つの異なる TestParent オブジェクトを作成しています。
それらをテストしましょう:
私は豆が同じであることを期待しますが、これは私がSpring 3.2.6で得ているものです:
質問に戻ります。サンプルが Spring 構成クラスでダイレクト メソッド呼び出しを使用しているのはなぜですか? そして、それらがそのように呼び出されることを意図しているのであれば、なぜ @Bean アノテーションが付けられているのでしょうか? それは悪い習慣ですか、それともロジック/コードのどこかに欠陥がありますか?