2

私の春のコンテキストでは、サービス Bean とこのサービス Bean のプロキシを (明示的に) 作成しています。どちらも同じインターフェースを実装しています。

自動配線がターゲット Bean を注入できないようにすることはできますか?

@Resource または @Qualifier アノテーションでターゲット サービスを使用できるようにしたいのですが、オートワイヤリングの場合は常にプロキシにする必要があります。

何か案は?

4

2 に答える 2

2

プライマリアノテーションを使用します。自動配線時にどのBeanを使用するのが望ましいかを示します。

お役に立てれば :)

于 2013-02-19T10:30:51.637 に答える
0

次のように @Primary アノテーションをプロキシ サービスに配置できます。

@Primary
@Repository
public class ProxyOfSomeService implements SomeService

その後、SomeServiceフィールドに@Autowired アノテーションを使用すると、デフォルトProxyOfSomeServiceで注入されます。

ただし、実際のサービスが必要な場合は、次のようにします。

@Autowired
@Resource(name="someRealService")
private SomeService someService;

これはあなたのニーズを満たすと思います、ありがとう!

于 2013-02-24T18:06:42.947 に答える