约定优于配置


Apache Tapestry 在编程的各个方面都遵循约定优于配置。该框架的每个功能都有一个合理的默认约定。

例如,正如我们在“项目布局”一章中了解到的,所有页面都需要放置在/src/main/java/«package_path»/pages/文件夹中才能被视为 Tapestry 页面。

从另一种意义上说,不需要将特定的 Java 类配置为 Tapestry 页面。将类放置在预定义的位置就足够了。在某些情况下,遵循 Tapestry 的默认约定会很奇怪。

例如,Tapestry 组件可以有一个setupRender方法,该方法将在渲染阶段开始时触发。开发人员可能想使用他们自己的固定名称,例如initializeValue。在这种情况下,Tapestry 提供了Annotation来覆盖约定,如以下代码块所示。

void setupRender() { 
   // initialize component 
}  
@SetupRender 
void initializeValue() { 
   // initialize component 
}

这两种编程方式在 Tapestry 中都有效。简而言之,Tapestry 的默认配置非常简单。只需在“Web.xml”中配置Apache Tapestry 过滤器(Java Servlet 过滤器)即可确保应用程序正常工作。

Tapestry 提供了另一种配置应用程序的方法,称为AppModule.java