<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
 
   <!-- 共通定義のインポート -->
  <import resource="/commonContext.xml"/>
  
	<!-- サービス層のBean定義 -->
	<!--                      -->
	<!-- サービス層共通のBean定義はapplicationContext.xmlに記述する。 -->

	<!-- ======= ビジネスロジックの定義 ======= -->
	<!-- UC101 リクエスト・コントローラ業務ロジック 定義-->
	<bean id="controllerMappingService"
		class="jp.terasoluna.rich.functionsample.controllermapping.service.ControllerMappingServiceImpl"
		scope="prototype" />

	<!-- UC102 リクエストデータ解析業務ロジック 定義-->
	<bean id="requestAnalysisService"
		class="jp.terasoluna.rich.functionsample.requestanalysis.service.RequestAnalysisServiceImpl"
		scope="prototype">
		<property name="ctxSupport" ref="ctxSupport" />
	</bean>

	<!-- UC103 レスポンスデータ生成業務ロジック 定義-->
	<bean id="responseService"
		class="jp.terasoluna.rich.functionsample.response.service.ResponseServiceImpl"
		scope="prototype" />

	<!-- UC103 レスポンスデータ生成業務ロジック ファイルダウンロードビュー 定義-->
	<bean id="fileResponseService"
		class="jp.terasoluna.rich.functionsample.response.service.FileResponseServiceImpl"
		scope="prototype" />

	<!-- UC104 制御情報管理 定義 -->
	<bean id="infoService"
		class="jp.terasoluna.rich.functionsample.informationcontrol.service.InformationControlServiceImpl"
		scope="prototype">
		<property name="ctxSupport" ref="ctxSupport" />
	</bean>
	<!-- UC105 サービスクラス実行 POJO(正常) 定義-->
	<bean id="serviceService"
		class="jp.terasoluna.rich.functionsample.service.service.ServiceServiceImpl"
		scope="prototype" />

	<!-- UC105 サービスクラス実行 POJO(不正) 定義-->
	<bean id="incorrectServiceService"
		class="jp.terasoluna.rich.functionsample.service.service.IncorrectServiceServiceImpl"
		scope="prototype" />

	<!-- UC105 サービスクラス実行 BLogic(正常) 定義-->
	<bean id="serviceBLogic"
		class="jp.terasoluna.rich.functionsample.service.blogic.ServiceBLogic"
		scope="prototype" />

	<!-- UC105 サービスクラス実行 BLogic(不正) 定義-->
	<bean id="incorrectServiceBLogic"
		class="jp.terasoluna.rich.functionsample.service.blogic.IncorrectServiceBLogic"
		scope="prototype" />

	<!-- UC106 例外処理 定義-->
	<bean id="exceptionHandlerService"
		class="jp.terasoluna.rich.functionsample.exceptionhandler.service.ExceptionHandlerServiceImpl"
		scope="prototype" />

	<!-- UC107 アクセスURI 定義-->
	<bean id="uriService"
		class="jp.terasoluna.rich.functionsample.uri.service.URIServiceImpl"
		scope="prototype" />

	<!-- UC108 XML形式チェック 定義-->
	<bean id="XMLFormCheckService"
		class="jp.terasoluna.rich.functionsample.formcheck.service.XMLFormCheckServiceImpl"
		scope="prototype" />

	<!-- UC108 クエリ形式チェック 定義-->
	<bean id="queryFormCheckService"
		class="jp.terasoluna.rich.functionsample.formcheck.service.QueryFormCheckServiceImpl"
		scope="prototype" />

	<!-- UC109 単項目の入力チェック 定義-->
	<bean id="singleService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.SingleServiceImpl"
		scope="prototype" />

	<!-- UC109 1属性・2種類以上の入力チェック 定義-->
	<bean id="multipleService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.MultipleServiceImpl"
		scope="prototype" />

	<!-- UC109 JavaBean1クラス・2パターンの入力チェック 定義-->
	<bean id="beanValidationService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.BeanValidationServiceImpl"
		scope="prototype" />

	<!-- UC109 コーディングによる入力チェックの入力チェック 定義-->
	<bean id="codingService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.CodingServiceImpl"
		scope="prototype" />

	<!-- UC109 配列・コレクション型への入力チェック 定義-->
	<bean id="arrayService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.ArrayServiceImpl"
		scope="prototype" />

	<!-- UC109 コレクション型への入力チェック 定義-->
	<bean id="arrayListStringService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.ArrayListStringServiceImpl"
		scope="prototype" />

	<!-- UC109 Beanを格納するコレクション型への入力チェック 定義-->
	<bean id="arrayListBeanService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.ArrayListBeanServiceImpl"
		scope="prototype" />

	<!-- UC109 Bean型への入力チェック 定義-->
	<bean id="beanDataService"
		class="jp.terasoluna.rich.functionsample.inputcheck.service.BeanDataServiceImpl"
		scope="prototype" />

	<!-- UC110 DBメッセージ管理 定義 -->
	<bean id="dbMessageService"
		class="jp.terasoluna.rich.functionsample.dbmessage.service.DBMessageServiceImpl"
		scope="prototype">
		<property name="ctxSupport" ref="ctxSupport" />
		<property name="msgAcc" ref="msgAcc" />
		<property name="reloader" ref="reloader" />
		<property name="queryDAO" ref="queryDAO" />
		<property name="updateDAO" ref="updateDAO" />
	</bean>

	<!-- UC111 コントローラ拡張 sumService 定義 -->
	<bean id="sumService"
		class="jp.terasoluna.rich.functionsample.controllerex.service.SumServiceImpl"
		scope="prototype" />

	<!-- UC111 コントローラ拡張 fileService 定義 -->
	<bean id="fileDownloadService"
		class="jp.terasoluna.rich.functionsample.controllerex.service.FileDownloadServiceImpl"
		scope="prototype" />

	<!-- UC111 コントローラ拡張 sumBLogicService 定義 -->
	<bean id="sumBLogicService"
		class="jp.terasoluna.rich.functionsample.controllerex.blogic.ControllerExBLogic"
		scope="prototype" />

	<!-- UC111 コントローラ拡張 fileBLogicService 定義 -->
	<bean id="fileBLogicService"
		class="jp.terasoluna.rich.functionsample.controllerex.blogic.ControllerExFileBLogic"
		scope="prototype" />

	<!-- UC112 サービスクラス実行 BLogic(実装) -->
	<bean id="succeededBLogic"
		class="jp.terasoluna.rich.functionsample.succeededblogic.blogic.SucceededBLogic" />

	<!-- UC113 ファイルアップロードサービス 定義  -->
	<bean id="fileUploadService"
		class="jp.terasoluna.rich.functionsample.upload.service.FileUploadServiceImpl" />


</beans>

