独自のパッケージをSMART deployの対象にする方法
<手順概要>
1.ComponentCreatorImplを継承したCreatorクラスを作成する
2.creator.diconに1で作成したCreatorクラスを登録する<手順詳細>
[前提]
ルートパッケージ名が「jp.co.smp.pac」で、独自パッケージ名が「biz」を例として記述している
1.ComponentCreatorImplを継承したCreatorクラスを作成する
package jp.co.smp.pac.creator; import org.seasar.framework.container.ComponentCustomizer; import org.seasar.framework.container.creator.ComponentCreatorImpl; import org.seasar.framework.container.deployer.InstanceDefFactory; import org.seasar.framework.convention.NamingConvention; public class BizCreator extends ComponentCreatorImpl { private static final String SUFFIX_NAME = "Biz"; public BizCreator(NamingConvention namingConvention) { super(namingConvention); setNameSuffix(SUFFIX_NAME); setInstanceDef(InstanceDefFactory.PROTOTYPE); setExternalBinding(false); setEnableAbstract(false); setEnableInterface(false); } public ComponentCustomizer getHelperCustomizer() { return getCustomizer(); } public void setHelperCustomizer(ComponentCustomizer customizer) { setCustomizer(customizer); } }
2.creator.diconに1で作成したCreatorクラスを登録する
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <include path="convention.dicon"/> <include path="customizer.dicon"/> <component class="org.seasar.framework.container.creator.ActionCreator"/> <component class="org.seasar.struts.creator.FormCreator"/> <component class="org.seasar.framework.container.creator.ServiceCreator"/> <component class="org.seasar.framework.container.creator.DtoCreator"/> <component class="org.seasar.framework.container.creator.InterceptorCreator"/> <component class="org.seasar.framework.container.creator.DaoCreator"/> <component class="jp.co.smp.pac.creator.BizCreator" /> </components>
以上で、「jp.co.smp.pac.biz」パッケージ配下で、クラス名が「Biz」で終わるクラスが、SMART deployの対象となる。
お勧め書籍