Springドキュメンテーションは、インターフェイスではなく具象クラス/メソッドに@Transactionalアノテーションを置くことを推奨しています。この理由は、例えば、スタックオーバーフローの上に何度もカバーされています:Spring @Transactional v Springセキュリティ@Secured inconsistent behavior
春のセキュリティ@Securedの動作が異なります。ほとんどのドキュメンテーションは、注釈をインタフェースに配置することを示しています。実際には、JDKまたはCGLibプロキシを使用するかどうかに関わらず、インターフェースや具体的なクラスに注釈を付けるかどうかにかかわらず動作するようです。
これは優れた解決策です。だからなぜ不一致?上記の質問に対する1つの答えは、パフォーマンスへの影響を示唆しています...しかし確かにパフォーマンスはセキュリティにとっても重要ですか?
@Securedソリューションはダイヤモンドの継承の問題をどのように扱いますか(クラスは2つのインターフェイスに@Secured同じメソッドを別々に実装しています)?