Spring Rooで作るGWTアプリケーション

Spring Rooで作るGWT
  アプリケーション
       @making
      2011/11/13
Spring Rooとは
 SpringベースのJavaアプリをコマンドラインでさくさ
  く作るためのRADツール

 http://www.springsource.org/spring-roo
   安定版は1.1.5.RELEASEが最新
   開発版は1.2.0.M1が最新
     今回の説明は1.2系で!

 コマンドを叩くとJavaソースコード、XML設定ファイ
  ル、Maven依存関係の追加などを行ってくれる。
  Scaffoldも
入門記事
 この辺でGetting Started
 http://www.ibm.com/developerworks/jp/opensource/libr
  ary/os-springroo1/index.html

 http://www.atmarkit.co.jp/fjava/index/index_springroo.ht
  ml
Rooアプリの構成


       Web層           サービス層        永続化層          データベース




  •   Spring MVC              • JPA              •   MySQL
  •   GWT                        • Hibernate     •   PostgreSQL
  •   Vaadin(addon)              • EclipseLink   •   Oracle
  •   Flex (addon)               • TopLink       •   H2
                                 • DataNucleus   •   HyperSonic
                              • JMS              •   GAE
1.2からサービス層、レポジトリ層が追                              •   MongoDB
加
1.2からのアプリ層
公式チュートリアルアプリ




http://static.springsource.org/spring-roo/reference/html/beginning.html
Spring Rooプロジェクト作成
$ mkdir pizza
$ cd pizza
$ roo.sh

# プロジェクト作成
roo> project --topLevelPackage com.example.pizza

# 永続化層(JPA)の定義
roo> jpa setup --provider HIBERNATE --database
HYPERSONIC_IN_MEMORY
エンティティ層の定義
# エンティティ作成

roo> entity --class ~.domain.Topping –testAutomatically

roo> field string --fieldName name --notNull --sizeMin 2

roo> entity --class ~.domain.Base –testAutomatically

roo> field string --fieldName name --notNull --sizeMin 2

roo> entity --class ~.domain.Pizza –testAutomatically

roo> field string --fieldName name --notNull --sizeMin 2

roo> field number --fieldName price --type java.lang.Float
一対多の定義
roo> field set --fieldName toppings --type ~.domain.Topping
一対一の定義
roo> field reference --fieldName base --type ~.domain.Base
もう一個
roo> entity --class ~.domain.PizzaOrder --testAutomatically

roo> field string --fieldName name --notNull --sizeMin 2

roo> field string --fieldName address --sizeMax 30

roo> field number --fieldName total --type java.lang.Float

roo> field date --fieldName deliveryDate --type java.util.Date

roo> field set --fieldName pizzas --type ~.domain.Pizza
ログ
project --topLevelPackage com.example.pizza
jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity --class ~.domain.Topping --testAutomatically
field string --fieldName name --notNull --sizeMin 2
entity --class ~.domain.Base --testAutomatically
field string --fieldName name --notNull --sizeMin 2
entity --class ~.domain.Pizza --testAutomatically
field string --fieldName name --notNull --sizeMin 2
field number --fieldName price --type java.lang.Float
field set --fieldName toppings --type ~.domain.Topping
field reference --fieldName base --type ~.domain.Base
entity --class ~.domain.PizzaOrder --testAutomatically
field string --fieldName name --notNull --sizeMin 2
field string --fieldName address --sizeMax 30
field number --fieldName total --type java.lang.Float
field date --fieldName deliveryDate --type java.util.Date
field set --fieldName pizzas --type ~.domain.Pizza
ログの読み込み
$ roo.sh script log.roo
Web層の定義
      通常(Spring MVCアプリ)は
     roo> web mvc setup

     roo> web mvc all --package ~.web


      GWTの場合
roo> web gwt setup

roo> web gwt all --proxyPackage ~.client.proxy --requestPackage ~.client.request




     ScaffoldなCRUDアプリが自動生成される
GWTアプリ起動
$ mvn gwt:run
[補足]Spring MVCの場合
$ mvn jetty:run
ここから先は
 未調査!
  どうやって画面を使いするの?
 次回に続く?
参考情報
 http://spring-roo-
  repository.springsource.org/Getting_Started_with_Roo.
  pdf

 オライリー本のPDFがダウンロードできます。
   オライリーで買うと$14.99。。どういうことだってばよ
おわり
 Spring RooでCRUDアプリを簡単にGWTでつくれまし
 た
付録
    Spring RooのGWTコマンド
web gwt all - すべてのエンティティをプロジェクトに配置して GWT リクエストとプロキシを生成し,
処理の基盤を構成する

web gwt gae update - GWT プロジェクトを更新して,GAE サポートを追加する

web gwt proxy all - すべてのエンティティをプロジェクトに配置して GWT プロキシを生成する

web gwt proxy request all - すべてのエンティティをプロジェクトに配置して GWT リクエストとプロ
キシを生成する

web gwt proxy request type - 指定された型をベースとするプロキシとリクエストを生成する

web gwt proxy type - 指定された型をベースとする GWT プロキシを生成する

web gwt request all - すべてのエンティティをプロジェクトに配置して GWT リクエストを生成する

web gwt request type - 指定された型をベースとする GWT プロキシを生成する

web gwt scaffold - GWT リクエストとプロキシ,および指定された基盤を生成する


http://www.infoq.com/jp/news/2011/10/spring-roo-1.2-m1-asl-jpa-mongo より
1 of 20

Recommended

Ruby on Rails3 Tutorial Chapter3 by
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Sea Mountain
1.2K views23 slides
Ruby on Rails3 Tutorial Chapter2 by
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Sea Mountain
1.3K views25 slides
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編 by
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編Toshimichi Suekane
1.5K views16 slides
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化) by
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)Toshimichi Suekane
1.4K views99 slides
Capistranoで自動デプロイ by
Capistranoで自動デプロイCapistranoで自動デプロイ
Capistranoで自動デプロイtoyoshi
4.6K views12 slides
MySQL Casual Talks in Fukuoka vol.2 by
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
9.6K views21 slides

More Related Content

What's hot

Gaej Explorer by
Gaej ExplorerGaej Explorer
Gaej Explorerkatsu.taira
771 views25 slides
Webサーバ勉強会 LT資料 by
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料学 松崎
4.7K views15 slides
serverspecを使用したサーバ設定テストの実例 by
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例Koichi Shimozono
1.8K views11 slides
cpanfile by
cpanfilecpanfile
cpanfileYoshihiro Sasaki
8K views39 slides
Appsody でnodejsのアプリを立ち上げよう! by
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
274 views23 slides
キメるClojure by
キメるClojureキメるClojure
キメるClojureYoshitaka Kawashima
7.8K views33 slides

What's hot(19)

Webサーバ勉強会 LT資料 by 学 松崎
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎4.7K views
serverspecを使用したサーバ設定テストの実例 by Koichi Shimozono
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例
Koichi Shimozono1.8K views
Appsody でnodejsのアプリを立ち上げよう! by Daisuke Hiraoka
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka274 views
Gulp入門 - コーディングを10倍速くする by Hayashi Yuichi
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
Hayashi Yuichi244.5K views
Spring Boot概要 by af not found
Spring Boot概要Spring Boot概要
Spring Boot概要
af not found1.3K views
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug by Toshiaki Maki
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
Toshiaki Maki16.4K views
OpenShift from Easy way to Hard ? Way by ロフト くん
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん1.7K views
WebAssemblyが切り拓くフロントエンドWeb開発の未来 by Jun-ichi Sakamoto
WebAssemblyが切り拓くフロントエンドWeb開発の未来WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto3.7K views
gulp + Slim テンプレートエンジンで HTML を効率よく書き出そう by Toshimichi Suekane
gulp + Slim テンプレートエンジンで HTML を効率よく書き出そうgulp + Slim テンプレートエンジンで HTML を効率よく書き出そう
gulp + Slim テンプレートエンジンで HTML を効率よく書き出そう
Toshimichi Suekane844 views
活動報告9 laravel5入門- by vx-pc-club
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-
vx-pc-club3.5K views
#7 Controller by T0M0Macii
#7 Controller#7 Controller
#7 Controller
T0M0Macii211 views
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel- by 靖 小田島
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
靖 小田島1.5K views
Zabbixを2分でインストール by 真乙 九龍
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール
真乙 九龍1.9K views
StackStormではじめる1人Slackのすすめ by 光平 八代
StackStormではじめる1人SlackのすすめStackStormではじめる1人Slackのすすめ
StackStormではじめる1人Slackのすすめ
光平 八代644 views

Viewers also liked

ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも! by
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!Toshiaki Maki
1.2K views12 slides
Clojure+Leiningenで3分Hadoop by
Clojure+Leiningenで3分HadoopClojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分HadoopToshiaki Maki
2.3K views10 slides
CategoLJについて by
CategoLJについてCategoLJについて
CategoLJについてToshiaki Maki
1.3K views21 slides
Ll tiger clojure by
Ll tiger clojureLl tiger clojure
Ll tiger clojureToshiaki Maki
1.4K views50 slides
Thin Server Architectureでブログ作った #ikam by
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamToshiaki Maki
9.5K views24 slides
喋るJava! by
喋るJava!喋るJava!
喋るJava!Toshiaki Maki
3.2K views2 slides

Viewers also liked(7)

ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも! by Toshiaki Maki
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!
ShibuyalispTT#4 LT 他言語で作ったWEBページをLispでも!
Toshiaki Maki1.2K views
Clojure+Leiningenで3分Hadoop by Toshiaki Maki
Clojure+Leiningenで3分HadoopClojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分Hadoop
Toshiaki Maki2.3K views
Thin Server Architectureでブログ作った #ikam by Toshiaki Maki
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikam
Toshiaki Maki9.5K views
Concourse CI Meetup Demo by Toshiaki Maki
Concourse CI Meetup DemoConcourse CI Meetup Demo
Concourse CI Meetup Demo
Toshiaki Maki1.5K views

Similar to Spring Rooで作るGWTアプリケーション

Myfirst cloudfoundry intro_20161201 by
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Tomohiro Ichimura
735 views18 slides
Node予備校 vol.1 名古屋 by
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
2.9K views46 slides
どこよりも早い Spring Boot 1.2 解説 #渋谷Java by
どこよりも早い Spring Boot 1.2 解説 #渋谷Javaどこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷JavaToshiaki Maki
13.3K views51 slides
Wasm blazor and wasi 2 by
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
361 views91 slides
Rails and twitter #twtr_hack by
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hacki7a
1.3K views34 slides
React Native GUIDE by
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
1.3K views85 slides

Similar to Spring Rooで作るGWTアプリケーション(20)

Node予備校 vol.1 名古屋 by Mori Shingo
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo2.9K views
どこよりも早い Spring Boot 1.2 解説 #渋谷Java by Toshiaki Maki
どこよりも早い Spring Boot 1.2 解説 #渋谷Javaどこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
Toshiaki Maki13.3K views
Rails and twitter #twtr_hack by i7a
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hack
i7a1.3K views
React Native GUIDE by dcubeio
React Native GUIDEReact Native GUIDE
React Native GUIDE
dcubeio1.3K views
PowerShellを使用したWindows Serverの管理 by junichi anno
PowerShellを使用したWindows Serverの管理PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理
junichi anno8.7K views
13016 n分で作るtype scriptでnodejs by Takayoshi Tanaka
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka2.3K views
RでつくるWebアプリ~rApache編~ by Kazuya Wada
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Kazuya Wada4.7K views
Sohu邮箱的python经验 by Ryan Poy
Sohu邮箱的python经验Sohu邮箱的python经验
Sohu邮箱的python经验
Ryan Poy1.5K views
VSCodeで始めるAzure Static Web Apps開発 by Yuta Matsumura
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura987 views
環境構築自動化ツールのご紹介 by Etsuji Nakai
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai2.7K views
REST with Spring Boot #jqfk by Toshiaki Maki
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
Toshiaki Maki10.9K views
Apache Torqueについて by tako pons
Apache TorqueについてApache Torqueについて
Apache Torqueについて
tako pons2.2K views
分散環境におけるDocker とオーケストレーション by Masahito Zembutsu
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Masahito Zembutsu12.8K views
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~ by Recruit Technologies
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies11.7K views

More from Toshiaki Maki

From Spring Boot 2.2 to Spring Boot 2.3 #jsug by
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugToshiaki Maki
2.2K views146 slides
Concourse x Spinnaker #concourse_tokyo by
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoToshiaki Maki
3.6K views19 slides
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t by
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tToshiaki Maki
5.2K views71 slides
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1 by
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1Toshiaki Maki
36.5K views149 slides
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1 by
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Toshiaki Maki
12K views64 slides
Spring Boot Actuator 2.0 & Micrometer by
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerToshiaki Maki
22.9K views47 slides

More from Toshiaki Maki(20)

From Spring Boot 2.2 to Spring Boot 2.3 #jsug by Toshiaki Maki
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
Toshiaki Maki2.2K views
Concourse x Spinnaker #concourse_tokyo by Toshiaki Maki
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyo
Toshiaki Maki3.6K views
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t by Toshiaki Maki
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Toshiaki Maki5.2K views
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1 by Toshiaki Maki
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
Toshiaki Maki36.5K views
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1 by Toshiaki Maki
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Toshiaki Maki12K views
Spring Boot Actuator 2.0 & Micrometer by Toshiaki Maki
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
Toshiaki Maki22.9K views
Open Service Broker APIとKubernetes Service Catalog #k8sjp by Toshiaki Maki
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Toshiaki Maki8.5K views
Spring Cloud Function & Project riff #jsug by Toshiaki Maki
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
Toshiaki Maki4.2K views
Introduction to Spring WebFlux #jsug #sf_a1 by Toshiaki Maki
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
Toshiaki Maki18.5K views
BOSH / CF Deployment in modern ways #cf_tokyo by Toshiaki Maki
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
Toshiaki Maki4.9K views
Why PCF is the best platform for Spring Boot by Toshiaki Maki
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
Toshiaki Maki7.1K views
Zipkin Components #zipkin_jp by Toshiaki Maki
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
Toshiaki Maki3.1K views
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07 by Toshiaki Maki
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki6.5K views
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo by Toshiaki Maki
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Toshiaki Maki31.5K views
実例で学ぶ、明日から使えるSpring Boot Tips #jsug by Toshiaki Maki
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
Toshiaki Maki17.1K views
Spring ❤️ Kotlin #jjug by Toshiaki Maki
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjug
Toshiaki Maki3.8K views
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3 by Toshiaki Maki
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Toshiaki Maki18.3K views
Managing your Docker image continuously with Concourse CI by Toshiaki Maki
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
Toshiaki Maki1.7K views
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri... by Toshiaki Maki
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Toshiaki Maki22.3K views
Short Lived Tasks in Cloud Foundry #cfdtokyo by Toshiaki Maki
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
Toshiaki Maki1.5K views

Recently uploaded

SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
405 views13 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
78 views29 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
32 views38 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
101 views26 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
27 views36 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
90 views41 slides

Recently uploaded(12)

SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4405 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.78 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka90 views
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda479 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga27 views
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」

Spring Rooで作るGWTアプリケーション

  • 1. Spring Rooで作るGWT アプリケーション @making 2011/11/13
  • 2. Spring Rooとは  SpringベースのJavaアプリをコマンドラインでさくさ く作るためのRADツール  http://www.springsource.org/spring-roo  安定版は1.1.5.RELEASEが最新  開発版は1.2.0.M1が最新  今回の説明は1.2系で!  コマンドを叩くとJavaソースコード、XML設定ファイ ル、Maven依存関係の追加などを行ってくれる。 Scaffoldも
  • 3. 入門記事  この辺でGetting Started  http://www.ibm.com/developerworks/jp/opensource/libr ary/os-springroo1/index.html  http://www.atmarkit.co.jp/fjava/index/index_springroo.ht ml
  • 4. Rooアプリの構成 Web層 サービス層 永続化層 データベース • Spring MVC • JPA • MySQL • GWT • Hibernate • PostgreSQL • Vaadin(addon) • EclipseLink • Oracle • Flex (addon) • TopLink • H2 • DataNucleus • HyperSonic • JMS • GAE 1.2からサービス層、レポジトリ層が追 • MongoDB 加
  • 7. Spring Rooプロジェクト作成 $ mkdir pizza $ cd pizza $ roo.sh # プロジェクト作成 roo> project --topLevelPackage com.example.pizza # 永続化層(JPA)の定義 roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
  • 8. エンティティ層の定義 # エンティティ作成 roo> entity --class ~.domain.Topping –testAutomatically roo> field string --fieldName name --notNull --sizeMin 2 roo> entity --class ~.domain.Base –testAutomatically roo> field string --fieldName name --notNull --sizeMin 2 roo> entity --class ~.domain.Pizza –testAutomatically roo> field string --fieldName name --notNull --sizeMin 2 roo> field number --fieldName price --type java.lang.Float
  • 9. 一対多の定義 roo> field set --fieldName toppings --type ~.domain.Topping
  • 10. 一対一の定義 roo> field reference --fieldName base --type ~.domain.Base
  • 11. もう一個 roo> entity --class ~.domain.PizzaOrder --testAutomatically roo> field string --fieldName name --notNull --sizeMin 2 roo> field string --fieldName address --sizeMax 30 roo> field number --fieldName total --type java.lang.Float roo> field date --fieldName deliveryDate --type java.util.Date roo> field set --fieldName pizzas --type ~.domain.Pizza
  • 12. ログ project --topLevelPackage com.example.pizza jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY entity --class ~.domain.Topping --testAutomatically field string --fieldName name --notNull --sizeMin 2 entity --class ~.domain.Base --testAutomatically field string --fieldName name --notNull --sizeMin 2 entity --class ~.domain.Pizza --testAutomatically field string --fieldName name --notNull --sizeMin 2 field number --fieldName price --type java.lang.Float field set --fieldName toppings --type ~.domain.Topping field reference --fieldName base --type ~.domain.Base entity --class ~.domain.PizzaOrder --testAutomatically field string --fieldName name --notNull --sizeMin 2 field string --fieldName address --sizeMax 30 field number --fieldName total --type java.lang.Float field date --fieldName deliveryDate --type java.util.Date field set --fieldName pizzas --type ~.domain.Pizza
  • 14. Web層の定義  通常(Spring MVCアプリ)は roo> web mvc setup roo> web mvc all --package ~.web  GWTの場合 roo> web gwt setup roo> web gwt all --proxyPackage ~.client.proxy --requestPackage ~.client.request ScaffoldなCRUDアプリが自動生成される
  • 17. ここから先は  未調査!  どうやって画面を使いするの?  次回に続く?
  • 18. 参考情報  http://spring-roo- repository.springsource.org/Getting_Started_with_Roo. pdf  オライリー本のPDFがダウンロードできます。  オライリーで買うと$14.99。。どういうことだってばよ
  • 20. 付録  Spring RooのGWTコマンド web gwt all - すべてのエンティティをプロジェクトに配置して GWT リクエストとプロキシを生成し, 処理の基盤を構成する web gwt gae update - GWT プロジェクトを更新して,GAE サポートを追加する web gwt proxy all - すべてのエンティティをプロジェクトに配置して GWT プロキシを生成する web gwt proxy request all - すべてのエンティティをプロジェクトに配置して GWT リクエストとプロ キシを生成する web gwt proxy request type - 指定された型をベースとするプロキシとリクエストを生成する web gwt proxy type - 指定された型をベースとする GWT プロキシを生成する web gwt request all - すべてのエンティティをプロジェクトに配置して GWT リクエストを生成する web gwt request type - 指定された型をベースとする GWT プロキシを生成する web gwt scaffold - GWT リクエストとプロキシ,および指定された基盤を生成する http://www.infoq.com/jp/news/2011/10/spring-roo-1.2-m1-asl-jpa-mongo より