問題を抱えたスプリントMVC取引が最終的に解決されます。

プロジェクトをビルドするために最近導入Spring MVCのフレームワークとトランザクションが動作しないことが判明し、忙しい一日、様々なプログラムは、ではありません。

その後、Googleで記事を表示するには、突然、彼らはその場所が、スキャニングアセンブリの注釈豆の問題事項の設定の問題ではありません。

洗浄などオリジナルの抜粋:

コンテキストはスプリングサンズ容器であるので、それはのServletContextListenerアセンブリはspringMVC例@Service注釈付きの子コンテナに生成される、親コンテナによって生成され、競合するとき副走査コントローラ容器アセンブリ、及びこの例べき親コンテナこの場合のように、サービス(トランザクションの後には強化処理、およびので、ノートランザクション機能を取得することですので、強化された取扱業務を確実にするために初期化。


次のように私は、元のファイルをapplicationContext.xmlを:

    <コンテキスト:コンポーネント・スキャンベースパッケージ= "XY">
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY *ダオ+。" />
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY * SQL + "/>
        <文脈:含めるフィルタタイプ="。AspectJの」発現= "XY *サービス+" />
    </コンテキスト:コンポーネント・スキャン>


ウェブ-servlet.xmlファイルを次のように

    <コンテキスト:コンポーネント・スキャンベースパッケージ= "XY">
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY *コントローラー+。" />
    </コンテキスト:コンポーネント・スキャン>   


次のようにapplicationContext.xmlを、ファイルを変更しました:

    <コンテキスト:コンポーネント・スキャンベースパッケージ= "XY">
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY *ダオ+。" />
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY 。* SQL + "/>
        <コンテキスト:含まフィルタタイプ=" AspectJの」表現= "XY *サービス+。" />
        。<コンテキスト:除外フィルタのタイプ= "AspectJの"表現= "XY *コントローラー+" />
    </コンテキスト:コンポーネント・スキャン>

ウェブ-servlet.xmlファイルを次のように

    <コンテキスト:コンポーネント・スキャンベースパッケージ= "XY">
        <文脈:含めるフィルタタイプ= "AspectJの"発現= "XY *コントローラー+。" />
        <文脈:除外するフィルタタイプ= "AspectJの"発現= "XY .. *サービス+ "/>

    </コンテキスト:コンポーネント・スキャン>   


原因はわかっているが、問題は解決されていますが、一つのことはまだ理解していません。

为何不写<コンテキスト:除外フィルタのタイプ= "AspectJの"表現= "XY .. *サービス+" />

ロードサービスは来るのだろうか?フィルタを含めることができることはご飯を食べているのですか?


ます。https://my.oschina.net/cjkall/blog/195905で再現

おすすめ

転載: blog.csdn.net/weixin_33853794/article/details/91756527