Java 在bind()方法之前运行一些操作

Java 在bind()方法之前运行一些操作,java,tapestry,Java,Tapestry,我想知道,在AppModule的Tapestry5中,是否有任何方便和适当的方式来描述一些操作,这些操作应该在方法运行之前调用 当然,可以在方法块顶部的bind()方法中包含这样的操作。但看起来,这肯定是另一种可能性 顺便说一句,@Startup不符合此条件,因为在我的情况下,它使用的是已启动的服务,但在绑定服务之前,我需要执行一些操作。如果它是Tapestry web应用程序,您可以在此扩展并拥有初始化步骤。查看TapestryFilter的源代码以获得灵感。另请参见有时我发现自己在模块类中使

我想知道,在
AppModule
Tapestry5
中,是否有任何方便和适当的方式来描述一些操作,这些操作应该在方法运行之前调用

当然,可以在方法块顶部的
bind()
方法中包含这样的操作。但看起来,这肯定是另一种可能性


顺便说一句,
@Startup
不符合此条件,因为在我的情况下,它使用的是已启动的服务,但在绑定服务之前,我需要执行一些操作。

如果它是Tapestry web应用程序,您可以在此扩展并拥有初始化步骤。查看TapestryFilter的源代码以获得灵感。另请参见

有时我发现自己在模块类中使用了一个未命名的静态块—主要用于初始化Tapestry服务所依赖的遗留服务。比如:

public final class MyModule {

    static {
        // early set-up here
    }

    public static void bind(ServiceBinder binder) {
        // binding here
    }
}

这似乎有助于提高模块代码的可读性,但同时可能有点难以为单元测试设置;不,除了静态代码块(这是标准Java,与Tapestry无关),您什么都做不了。

也许您可以使用service builder方法?()也许你不需要??可以分享你到底想做什么吗?我想,我需要。对不起,让我自己决定我想要什么样的建筑。“让我自己决定我想要什么样的建筑”是非常傲慢和徒劳的。我们宁愿帮助你解决正确的问题,而不是错误的问题,如果没有更多的细节,就无法判断你走的是哪条路。@HowardM.LewisShip好吧,你是对的,我的评论相当傲慢。我为此道歉。但实际上我真的需要我的应用程序的这种架构。谢谢,但这不是我真正要求的。我想知道,如何在AppModule中正确地执行此操作…谢谢你的回答,霍华德!