問題タブ [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.
spring - クラス内の別のクラスの Bean をどのように使用しますか?
xml を使用して、共通の xml ファイルを定義することができました。ここに、他の異なる condig ファイルに使用される共通の Bean を配置できます。構成を psring Java 構成に移動しました。Java 構成でこれを実現するにはどうすればよいですか?
共通クラスを次のように持っているとしましょう:
そして私はそれを次のように使いたい
TODO 部分がありません。共通クラスの a() を使用したいです。それは可能ですか?
java - Spring Security: Java Config が機能しない
Spring Security を含む Java 構成の Spring 環境をセットアップしようとしています。アプリケーションはエラーなしで起動しますが、正常にログインできません。
WebAppInitializer
セキュリティ初期化子
セキュリティ構成
login.jsp
ログインコントローラ
データベース: ロールテーブルの内容:「EMPLOYEE」、「TEAM_LEADER」、「ADMIN」、
長い間解決策を探していますが、残念ながらエラーを見つけることができません。皆さんのアドバイスに感謝します。
更新 1 - 1 回のログイン後の Log4J ログ
xml - Spring xml 構成は、@Scheduled なしで @Async を有効にします
@Async
Spring の xml 構成を使用して、注釈のスキャンを有効にせずに注釈のスキャンを有効にするにはどうすればよい@Scheduled
ですか?
通常、両方を同時に使用し<task:annotation-driven />
て有効にしますが、特定の Spring プロファイルがアクティブな場合にのみスケジューリングを有効にしようとしています。
Spring JavaConfig を使用する@EnableAsync
と、 と を@EnableScheduling
別々に使用できます。私は数年前から存在し、xml と注釈ベースの構成のみを使用するプロジェクトを維持しています。これを行う唯一の方法でない限り、JavaConfig をミックスに追加したくありません。
java - プロパティを部分的およびオプションでオーバーライドするように Spring を構成するにはどうすればよいですか?
特定の環境で特定のプロパティをオーバーライドできるプロパティ設定が必要です。たとえば、dev のデフォルトの JDBC プロパティは次のとおりです。
- db.driverClassName=com.mysql.jdbc.Driver
- db.url=jdbc:mysql://localhost:3306/ourdb
- データベースのユーザー名=ルート
- デシベル。パスワード=
問題は、一部の開発者がデータベースに別のユーザー名/パスワードを使用したい、またはローカルでホストされていないデータベースを使用したいと考えていることです。同じことが、現在同様のローカルホスト、ゲスト/ゲスト設定を使用している rabbitMQ 構成にも当てはまります。開発者ごとにこの構成の特定の要素のプロパティをオーバーライドできると、ソフトウェアを構築するためのインフラストラクチャ/インストール要件の多くを、ローカル マシンから専用サーバーに移すことができます。
私が望むものを達成するために必要な構成に頭を包むための簡単なプロジェクトをセットアップしました。これまで、プロパティのロードと管理はいくつかのカスタムで行われていたため、これは春のプロパティ構成の世界への私の最初の進出です。コード。これが私のセットアップです:
そして私の設定:
完全を期すために、私の dev.main.properties と test.main.properties:
主な問題は、不正な引数の例外が発生することです。私が知る限り、私が書いたものは、このメソッドに相当する javaconfig でなければなりません: http://taidevcouk.wordpress.com/2013/07/04/overriding-a-packaged-spring-application-properties-file-外部ファイル経由/ 残念ながら、次のエラーが発生します: java.lang.IllegalArgumentException: 文字列値 "${main.property}" のプレースホルダー 'main.property' を解決できませんでした。サブ環境がない場合にも注意する必要があることに注意してください。これは、私が始めたケースです (ただし、両方のファイルが存在する場合でも同じエラーが発生します)。2 番目の propertysourcesplaceholderconfigurer を設定する Bean を削除すると、すべて正常に動作します (つまり、dev.main.properties が読み込まれ、"And the property is: 'dev'." が出力されます)。
二次的な問題は、コードが見栄えがよくないことです。システムの各レイヤーは、これらのプロパティにアクセスできるように 2 つの PSPC のセットアップが必要になります。さらに、${spring.profiles.active} を PSPC.setLocation(); に渡すことができなかったため、System.getProperty() を手動で呼び出す必要があります。
注: @PropertySources({primaryproperties, secondaryProperties}) を試しましたが、secondaryProperties が存在しないため失敗します。@Autowired Environment 環境も試しました。そこからプロパティを取得しますが、セカンダリ PSPC により環境が自動配線されません...
この長い説明に続いて、私の質問は次のとおりです。
- これは、この問題を解決する正しい方法ですか?
- もしそうなら、私の設定の何が問題になっていますか?
- 構成を簡素化するにはどうすればよいですか (もしあれば)。
- 私の問題を解決する代替メカニズムはありますか?
お時間をいただきありがとうございます!:)
java - Spring AbstractAnnotationConfigDispatcherServletInitializer WebApplicationContext が見つかりません: ContextLoaderListener が登録されていません
XML 構成なしで Spring 3.2.5 を使用しています。AbstractAnnotationConfigDispatcherServletInitializer を使用してアプリケーションを初期化し、AbstractSecurityWebApplicationInitializer を使用して春のセキュリティを初期化しています。
私のアプリケーションは、Spring Tool Suite に同梱されている VMware vFabric tc Server Developer Edition v2.9 を使用してファイルをデプロイおよび実行します。ただし、jdk 1.7.0_21 を JR として使用して、標準の Tomcat 7.0.12 にデプロイすると、
スタックトレースは次のとおりです。
ここに私の AbstractAnnotationConfigDispatcherServletInitializer コードがあります:
このアプリケーションを Tomcat で起動する方法について教えていただけると助かります。この問題により、Heroku や Amazon Elastic Beanstalk などのクラウド ベンダーにうまくデプロイできません。
事前にどうもありがとうございました!
編集: AbstractSecurityWebApplicationInitializer の追加
EDIT:私が気付いたもう1つのこと:vFabricサーバーを使用して起動すると、Springがすべてのクラスを2回スキャンしたように見えました。たとえば、構成メソッドにログ ステートメントを配置すると、出力が 2 回取得されます。Tomcat で実行すると、ログ ステートメントが 1 回しか表示されません。それがこの問題と関係があるかどうかはわかりませんが、私が気づいた興味深い違いです。
java - コンポーネントスコープのシングルトンを実装する最良の方法は何ですか?
データを処理する必要があるたびに Task クラスのインスタンスを作成するアプリケーションがあるとします。タスク インスタンスには他のサービスが注入されていますが、このすべてのサービスとタスク オブジェクト自体は、1 つのタスク インスタンス内で一意です。もちろん、一部のグローバル サービスもインジェクトされていますが、それらは真のアプリケーション全体のシングルトンです。だから私の質問は、そのローカル (またはスコープ) シングルトン インスタンスの注入を構成する最良の方法は何ですか? 私は主に子コンテキストを使用することを考えていますが、それを適切に構成する方法はまだ問題です。もう 1 つ言及することは、注釈と Java ベースの構成を使用することです。
post - Java Config を使用した Spring-Security で、httpBasic POST が csrf トークンを必要とするのはなぜですか?
Java 構成で Spring-Security 3.2.0.RC2 を使用しています。/v1/** で基本認証を要求する単純な HttpSecurity 構成をセットアップしました。GET リクエストは機能しますが、POST リクエストは次のエラーで失敗します。
私のセキュリティ設定は次のようになります。
これに関するヘルプは大歓迎です。