独自のパッケージを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の対象となる。


お勧め書籍