AutoRegister
TBがあったので。(http://d.hatena.ne.jp/yad-EL/20051001/1128185319)
<component class="org.seasar.framework.container.auto.FileSystemComponentAutoRegister"> <property name="fileNameOfRoot">"aop.dicon"</property> <property name="autoNaming"> <component class="org.seasar.framework.container.auto.DefaultAutoNaming"/> </property> <initMethod name="addClassPattern"> <arg>"test.org.seasar.framework.container.auto"</arg> <arg>"Foo.*"</arg> </initMethod> <initMethod name="registAll"></initMethod> </component>
2.3からは、↑ってdiconファイルを書くと、DefaultAutoNamingがコンポーネント名を決めてくれるんで、そのコンポーネント名をそのままS2Strutsでも使えないかって事です。
ちなみに、DefaultAutoNamingの実装↓。勉強会で触れた、「S2は?」って部分。
public class DefaultAutoNaming implements AutoNaming { private static final String IMPL = "Impl"; public String defineName(String shortClassName) { if (shortClassName.endsWith(IMPL)) { shortClassName = shortClassName.substring(0, shortClassName.length() - IMPL.length()); } shortClassName = StringUtil.decapitalize(shortClassName); return shortClassName; } }