seasar2의 학습2(Seasar2는 2.7개 구성 요소의 자동 등록을 철저히 입문)
2019 단어 Seasar2
<!-- コンポーネントの自動登録 -->
<component class="org.seasar.framework.container.autoregister.ComponentAutoRegister">
<!-- instanceDefは省略するとsingleton -->
<!-- autoBindingは省略するとauto -->
<!-- DefaultAutoNaming機構を使うとクラスの完全修飾名からパッケージ部分を除き、
最後がImplまたはBeanで終わっていたら削除し、 先頭を小文字にした名前をコンポーネントの名前に設定します。
例えば、aaa.HogeImplクラスの場合、コンポーネント名は、hogeになります。は省略するとsingleton -->
<!-- 検索の起点となるクラスを指定する。これ指定しないと何も見つからない -->
<initMethod name="addReferenceClass">
<arg>@hello.componentautoregister.MainCaller@class</arg>
</initMethod>
<!-- 検索パターンをしていhelloパッケージ配下(サブ含む)のImplメソッドが対象になる -->
<initMethod name="addClassPattern">
<arg>"hello"</arg>
<arg>".*Impl"</arg>
</initMethod>
</component>
실제 사용의 예.package hello.componentautoregister;
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.factory.SingletonS2ContainerFactory;;
public class MainCaller {
public static void main(String[] args) {
// S2コンテナの初期化
SingletonS2ContainerFactory.setConfigPath("app2.dicon");
SingletonS2ContainerFactory.init();
// IMessageProviderIFを実装したコンポーネントを取得(コメントアウトしてるクラス指定でもいけます)
//MessageProvider messageProvider = SingletonS2Container.getComponent(MessageProvider.class);
MessageProvider messageProvider = SingletonS2Container.getComponent("messageProvider");
// メッセージを出力
System.out.println(messageProvider.getMessage());
// S2コンテナの破棄
SingletonS2ContainerFactory.destroy();
}
}
메시 프로바이더 등과 지난번부터 미묘하게 이름을 바꿔 다음과 같은 모습으로 변신했다.Reference
이 문제에 관하여(seasar2의 학습2(Seasar2는 2.7개 구성 요소의 자동 등록을 철저히 입문)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/komikcomik/items/2ef284dfe65871ca26fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)