Javaコードの作成(2)
今回はデータベースの代わりにProductデータを保存するクラスを作成します。EclipseのProject Explorerからdemoパッケージを右クリックし、New→Classを選択します。
New Java Class画面で、NameにProductStoreを入力し、Superclassにjava.util.ArrayList<Product>を入力して、Finishボタンを押下します。
作成されたファイルProductStoreを以下のように修正します。@Componentを付与し、Spring上でBean id:storeとして管理されるようにします。
package demo; import java.util.ArrayList; import org.springframework.stereotype.Component; @Component("store") public class ProductStore extends ArrayList<Product> { private static final long serialVersionUID = -2656699492233321360L; }
サービスクラスとして、インターフェースProductServiceと実装クラスProductServiceImplを作成します。EclipseのProject Explorerからdemoパッケージを右クリックし、New→Interfaceを選択します。
nameをProductServiceにしてFinishを押下すると、ProductService.javaファイルが作成されますので、以下のように編集します。
package demo; public interface ProductService { /* Product登録メソッド */ public void regiseterProduct(Product product); /* Product取得メソッド */ public Product[] getProducts(); }
次に、ProductServiceの実装クラスであるProductServiceImplを作成します。EclipseのProject Explorerからdemoパッケージを右クリックし、New→Classを選択します。
nameをProductServiceImplにしてFinishを押下すると、ProductServiceImpl.javaファイルが作成されますので、以下のように編集します(Springに自動的に登録させるため、@Serviceアノテーションを付与します。また、@RemoteServiceアノテーションはCurl ORBのセキュリティ制御のために付与します)。
package demo; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.curlap.orb.security.RemoteService; @RemoteService /* Curl ORBアクセス制御アノテーション */ @Service("productService") /* Springサービスアノテーション */ public class ProductServiceImpl implements ProductService { /* ProductStoreをインジェクト */ @Resource private ProductStore store; public void regiseterProduct(Product product) { store.add(product); } public Product[] getProducts() { return store.toArray(new Product[]{}); } }
これで、外部に公開するサービス:ProductService(実装クラス:ProductServiceImpl)とデータクラス:Product、仮データベース:ProdctStoreが作成されました。この時点でTomcatサーバを起動します。
上記画面で、Tomcatサーバを起動します。
ここまでの説明ではJavaが主体でしたので、まだCurlは関係ありません。次ページ以降でCurl部分について実装していきます。