問題タブ [spring-annotations]
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 3.1 @Cacheable の例
私はSpringアノテーションが初めてで、Spring 3.1で@Cacheableアノテーションの使用を示すサンプル例を作成したいのですが、これを作成するためのガイダンスはありますか?
java - 2 つのトランザクション マネージャーを使用した @EnableTransactionManagement アノテーション
@Configuration
xml ファイルの代わりに、Spring の構成に注釈を使用しています。異なるセッション ファクトリと異なるトランザクション マネージャーを使用して 2 つのデータソースを構成しています。ここで@EnableTransactionManagement
注釈の問題に悩まされています。私はそのドキュメントを読んで、
@EnableTransactionManagement
より柔軟です。PlatformTransactionManager
コンテナー内の任意の Beanのタイプ別ルックアップにフォールバックします。したがって、名前は「txManager」、「transactionManager」、または「tm」にすることができます。単に問題ではありません。
PlatformTransactionManager
これは、メソッドに付けた名前が何であれ、 2 つのトランザクション マネージャーがある間は常にオブジェクトを返すメソッドを検索することを意味します。問題は、このクラスをテストすると、エラーが発生することです。
org.springframework.beans.factory.NoSuchBeanDefinitionException
: タイプ [org.springframework.transaction.PlatformTransactionManager
] の一意の Bean が定義されていません: 単一の Bean が必要ですが、2 が見つかりました
2 つの異なる構成クラスを作成しようとしましたが、無駄でした。xml 構成では、これは当てはまりませんでした。両方のトランザクション マネージャーを 2 つの<tx:annotation-driven transaction-manager="" />
タグで登録したところ、問題なく動作しました。ただし、ここでは注釈を使用して同じことを行うことはできません。
Spring アノテーション付き構成クラスで 2 つの異なるトランザクション マネージャーを使用して 2 つのデータソースを構成したい場合はどうすればよいですか?
validation - Spring MVC 3 と @Valid からページに検証エラーを返す
つかれた。過去 2 週間、Spring MVC のサイド プロジェクトに取り組んできましたが、ドキュメンテーションがせいぜい誤解を招くものであることがわかりました。すっごい.....助けてください!
質問
私が理解しようとしているのは、以下の設定で検証エラーがビューに返されない理由です。つまり、さまざまなfrm:error(s)
タグにエラーが表示されていません。実行時デバッグを介して BindingResult 引数を POST リクエスト マッピングにチェックしたところ、エラーが表示されました。これに関するドキュメントがせいぜい曖昧であることを考えると、セミコロンの置き忘れを指摘したり、検証エラーをユーザーに通知して個人的な不備を知らせるために欠落している秘密のソースが何であるかを教えてもらえますか?
おまけとして、誰かが自動列挙型検証を変更して、メッセージ バンドルから独自の検証エラー メッセージを追加できるようにする方法を知っていれば、私は大変助かります。
この純粋な Spring MVC 3.0 を維持しようとしていることに注意してください。私は 2.5.6 をかなり使いこなせましたが、アノテーションはほとんど使用していませんでした。そのため、このプロジェクトは他の何よりも学習課題です。純粋に 3.0 アノテーションなどを使用したいと思いますが、夢の中で私を嘲笑し、コマンドオブジェクトを捨てて、HttpServletRequest を唯一の RequestMapping 引数として設定し、完了したドキュメントに脳が反抗しているにもかかわらずです。それと。
スタック:
春 3.0.6
タイル 2.2.2
Glassfish 3.1.1
コード:
Spring app-servlet.xml
春の main.beandef.xml
コントローラーコード
JSP コード
ノート
- ドキュメント
<mvc:annotation-driven validator="userValidator"/>
に従って userValidator をグローバルにするために Spring 構成ファイルで使用しようとしましたが、何らかの理由でユーザーバリデーターが見つからず、読み込まれず、使用されませんでした。とファイルで構成しようとしましたが、うまくいきません。そこで、@InitBinder スキームに頼りました。[appname]-servlet.xml
main.beandef.xml
- どうやら、リクエスト マッピングにメソッド引数が含まれていない場合、
BindingResult result
検証全体が失敗し、注釈付きのリクエスト メソッドに戻る代わりに、検証エラーを含む例外がスローされ、Spring はブラウザーを 404 ページに送ろうとします。引数として BindingResult (またはおそらく他のスプリング オブジェクト) を持たなければならないことは (今では完全に!) 文書化されていません。 - 列挙型。
frm:select
コマンド オブジェクトの enum データ メンバーに spring タグを使用し、属性のない<frm:options />
子タグを追加すると、Spring は値とテキストが enum の値に設定されたオプションをドロップダウン選択に自動的に入力しgetName
ます。カスタム リソース バンドル メッセージを関連付ける方法をまだ見つけていません。とにかく、この機能は完全に文書化されていません。
java - web.xmlにapplicationContext.xmlファイルの代わりにSpring @Configurationアノテーション付きクラスを登録するには?
Web アプリケーションで jsf と spring を一緒に使用しています。@Configuration, @ComponentScan
などの注釈を使用する1つの構成クラスでデータソースとセッションファクトリを構成しました。構成クラスでコンテキストxmlのすべてのエントリを処理しているため、プロジェクトにapplicationContext.xmlファイルがありません。テスト ケースは正常に動作しますが、Web アプリケーションをデプロイするとエラーが発生します
java.lang.IllegalStateException: WebApplicationContext が見つかりません: ContextLoaderListener が登録されていませんか?
web.xml でリスナークラスを指定すると、
それは私にエラーを与えます、
/WEB-INF/applicationContext.xml が見つかりません
のドキュメントによると、 param in を明示的に指定ContextLoaderListener
しないと、 in という名前のデフォルトのスプリング コンテキスト ファイルが検索されるのは事実です。さて、Spring コンテキスト ファイルを使用せず、すべての構成を注釈で行いたくない場合はどうすればよいですか? xml ファイルを使用せずにアノテーションのみを使用して、Spring と jsf で Web アプリケーションを実行できるようにするには、リスナー クラスをどのように登録すればよいですか?contextConfigLocation
web.xml
applicationContext.xml
web.xml
ContextLoaderListener
spring-transactions - @transactional プロパティをアノテーションに挿入できますか?
Spring コンテキスト ファイルで定義されたサービスがあり、EL を使用してトランザクション プロパティを注入しています。
@Service
アノテーションを使用して定義されたサービスがいくつかあります。xml ファイルで行うのと同様の方法でプロパティを挿入することは可能ですか? また、構文はどのようになりますか? すなわち:
spring - Spring 3.0.6MVC@PathVariableおよび@RequestParamがJSPビューで空白/空
私は信じられないほど単純なコントローラー/ビューのセットアップを試みてきましたが、それを機能させることができません。私のでは、正常に実行されているという名前web.xml
を定義しました。で、私は設定しました:<servlet>
servlet-context.xml
servlet-context.xml
とりわけ。私の理解では、@
注釈を使用するために必要なのはこれだけです。
私のコントローラーには、次のものがあります。
そして私のstudent.jsp
見解では、私は持っています:
にリクエストするとhttp://localhost:8080/application/student/xyz123/?studentid=456
、期待するビューが表示されますが、すべての変数が空白またはnullです。
自分web.xml
やservlet-context.xml
設定の仕方に問題があるのではないかと思いますが、どこにも犯人が見つかりません。私が見る限り、どのログにも何も表示されません。
更新:私は自分のコードをspring-mvc-showcaseのこの部分に基づいていました:
...これは私にとってはうまくいきます。この例が機能する理由は理解できませんが、私の場合は機能しません。彼らが何か違うことをしているからですservlet-context.xml
か?
java - POJO から App コンテキストへの Spring ロード値
POJO から Spring appcontext.xml に値をロードする方法はありますか?
たとえば、次のような POJO があります。
そして、最終的な目標は、somethingElse
設定からの値で自動配線することです。Springではメソッドを呼び出せないと思うので、これを行う方法はありますか?
例 appContext
spring - HTTPSessions と Spring
spring を使用して Web アプリケーションを開発しています。
ここに問題があります。これらの 3 つの URL があるとします。
www.sample.com/login.do
www.sample.com/homePage.do
www.sample.com/about.jsp
私がやりたいことは、ユーザーがログインしているかどうかにかかわらず、about.jsp ページにアクセスできるようにすることです。また、ユーザーがログインせずに homePage.do にアクセスしようとすると、login.do ページにリダイレクトされ、その逆も同様です。
これが機能するにはHTTPSessionが必要だと思いますが、SpringでHTTPSessionを管理する方法がわかりません。
いくつかのフィルターを使用してこれを達成できますか? もしそうなら、それを通して私を案内してもらえますか?
Spring MVC および/または Spring Annotations を使用したいと考えています。
spring-mvc - @ModelAttributeで形成されたモデルを別のコントローラーで使用することはできません
私のUserController.java
私のSuccessController.java
"user"
モデルが入っていないSuccessController
ので、で使う${user.name}
とuserSuccess.jsp
何の価値もありません。
1行目にユーザーモデルを設定すると、別のコントローラーでこの値を取得しないのはなぜですか?を使用してこのモデルをSessionに保持@SessionAttributes
すると、別のコントローラーでアクセスできます。
それでは、を使用して形成されたモデルの範囲は何@ModelAttribute
ですか?
spring-mvc - @SessionAttribute : モデルはいつ初期化されますか?
Spring 3 で Session スコープのモデルが必要な場合は、foll を使用します。コントローラーの注釈:-
ただし、これは myModel の宣言にすぎません。ビューで使用できるように、どの時点で初期化されますか。そして、Spring はどのようにしてこのモデルのクラス型を知るのでしょうか?
誰かがこれを例で説明できますか?