1

picocontainer で AOP を使用しようとしています。

これまでのところ、ドキュメントで見つけました: http://picocontainer.codehaus.org/interception.html

pico = new DefaultPicoContainer();  
pico.as(INTERCEPT).addComponent(Apple.class, BraeburnApple.class);  

次にインターセプターを作成しますが、コードを調べてみると、INTERCEPT プロパティがどこにも見つかりません。

as は Properties 値を受け取ります。これは pico が特徴クラスで実装します。

誰かが手がかりを持っているか、以前に実装したことがあり、それを維持する方法を知っていますか?

ありがとう

4

2 に答える 2

0

これは私にとってはうまくいきました。まず、Bean を拡張してプロキシを作成します。

public static class ChangeMapInfoEndpointInterceptor extends MapInfoRoutingManagementBean {
    @Override
    public void setEndpoint(String endpoint) {
        System.out.println("setEndpoint called");
    }
}

次に、インターセプト スタイルのコンテナーに渡します。

    MutablePicoContainer context = new PicoBuilder().withBehaviors(new Intercepting()).build();
    context.addComponent(MapInfoRoutingManagement.class, MapInfoRoutingManagementBean.class);
    Intercepted intercepted = context.getComponentAdapter(MapInfoRoutingManagement.class).findAdapterOfType(Intercepted.class);
    intercepted.addPostInvocation(MapInfoRoutingManagement.class, new ChangeMapInfoEndpointInterceptor());
于 2015-06-17T08:17:36.780 に答える