Spring Roo 绠€浠嬶紝绗?一 閮ㄥ垎: 浠庢簮浠g爜鏋勫缓(杞
绠€浠?/h2>
Spring 妗嗘灦浜?2002 骞村勾搴曞彂甯冿紝鐩殑鍦ㄤ簬绠€鍖?J2EE锛堢洰鍓嶆槸 JavaEE锛夊紑鍙戙€傚湪杩囧幓 8 骞翠腑锛孲pring 鎴愬姛瀹屾垚浜嗚浣垮懡锛屾彁渚涗簡 Java 绀惧尯妗嗘灦鎴栧姛鑳斤紝姣斿 Spring Security銆丼pring MVC銆佷簨鍔$鐞嗐€丼pring 鎵瑰鐞嗗拰 Spring 闆嗘垚锛岃繖閮芥槗浜庣悊瑙e拰浣跨敤銆係pring 甯屾湜璁?Java 寮€鍙戜汉鍛樼殑宸ヤ綔鏇磋交鏉俱€佹洿瀵屾垚鏁堛€備负姝わ紝Spring 鍒涘缓浜嗕竴涓悕涓?Spring Roo 鐨勫紑鍙戝伐鍏枫€?/p>
Spring Roo锛堝弬瑙?鍙傝€冭祫鏂?/a>锛夋槸閽堝 Java 鎶€鏈殑涓€涓彲鎵╁睍鐨勩€佸熀浜庢枃鏈殑寮€婧?RAD 宸ュ叿銆傚畠鏄敤浜庡垱寤哄拰绠$悊鍩轰簬 Spring 鐨勫簲鐢ㄧ▼搴忕殑涓€涓己澶ц祫婧愩€傝繖閲屾槸浠诲姟璇存槑锛?/p>
Roo 鐨勪换鍔℃槸浠庢牴鏈笂鍙寔缁湴鏀瑰杽 Java 寮€鍙戜汉鍛樼殑鐢熶骇鏁堢巼锛岃€屾棤鎹熷伐绋嬪畬鏁存€у拰鐏垫椿鎬с€?/strong>
杩欎竴瑕佹眰杞崲涓烘瀯寤轰簬 Java 鎶€鏈箣涓婄殑涓€绉嶅伐鍏凤紝鍙寔缁湴澧炲姞椤圭洰鏁翠釜鐢熷懡鍛ㄦ湡鐨勭敓浜ф晥鐜囷紝涓斾笉闄愬畾寮€鍙戜汉鍛樹娇鐢ㄦ煇涓€鐗瑰畾鏂规硶銆係pring Roo 浣跨敤娴佽銆佸彲闈犲拰鎴愮啛鐨勫簱锛屾瘮濡?Spring 妗嗘灦銆丣ava 鎸佷箙鍖?API銆丣ava Server Pages (JSP)銆丼pring Security銆丼pring Web Flow銆丩og4J 鍜?Maven銆俁oo 鐢熸垚鐨勫簲鐢ㄧ▼搴忎娇鐢?Bean Validation (JSR-303) 鍜?Dependency Injection (JSR-330) 杩欐牱鐨勬爣鍑嗭紝涓旈伒寰渶浣冲疄璺?SpringSource 璁よ瘉鐨勫簲鐢ㄧ▼搴忔灦鏋勩€?/p>
浣跨敤 Spring Roo锛屾偍鍙互娣诲姞鍜岄厤缃?JPA銆丼pring MVC銆丼pring Security 绛夊姛鑳斤紝浣跨敤 Log4j 杩涜鏃ュ織璁板綍锛屾祴璇?JUnit 鍜?Selenium銆丼olr銆丣MS銆佺數瀛愰偖浠剁瓑妗嗘灦锛屼粎闇€鍦?Roo shell 涓婅緭鍏ュ懡浠ゅ嵆鍙€備娇鐢?Roo 娣诲姞杩欎簺鍔熻兘鑺傜渷鐨勬椂闂存彁楂樹簡寮€鍙戜汉鍛樼殑鐢熶骇鏁堢巼銆俁oo 涓嶈兘缂栧啓涓氬姟閫昏緫锛屼絾鍙互绠$悊搴旂敤绋嬪簭鐨勫熀纭€缁撴瀯鎴栭厤缃€?/p>
Roo 鏄竴涓紑鍙戞椂闂村伐鍏凤紝杩欐剰鍛崇潃搴旂敤绋嬪簭鍦ㄨ繍琛屾椂鐙珛浜?Roo銆傜敱浜?Roo 鍦ㄨ繍琛屾椂涓嶅瓨鍦紝瀹冩病鏈変换浣曟€ц兘鎴栧唴瀛樺紑閿€銆傝繖纭繚鎮ㄤ笉渚濊禆浜?Spring Roo锛屾偍鍙渶鍑犱釜鎸夐敭鍗冲彲闅忔椂浠庢偍鐨勯」鐩腑鍒犻櫎 Roo銆?/p>
鏈枃璁ㄨ濡備綍浣跨敤 Roo shell 鏋勫缓绠€鍗曠殑 web 搴旂敤绋嬪簭锛屽苟灞曠ず濡備綍鍦?Windows 鎴?Ubuntu 鏈哄櫒涓婄紪璇?Spring Roo 婧愪唬鐮併€?/p>
鍥為〉棣?/a>
寮€濮嬩娇鐢?Roo shell
閫?杩囧姞杞?Roo shell 骞朵娇鐢ㄥ懡浠や笌涔嬩氦浜掞紝鎮ㄥ彲浠ョ鐞嗗拰閰嶇疆搴旂敤绋嬪簭銆俁oo Shell 鏄竴涓埗琛ㄥ畬鎴愮殑銆佷笂涓嬫枃鎰熺煡鐨勩€佹彁渚涙彁绀虹殑鍛戒护 shell銆傛偍鍙互浣跨敤 hint 鍛戒护璇㈤棶 Spring Roo 鎮ㄧ殑涓嬩竴姝ラ€昏緫鎿嶄綔銆俁oo 瓒冲鏅鸿兘锛屽彲閫氳繃鍒ゅ畾搴旂敤绋嬪簭涓婁笅鏂囧缓璁笅涓€姝ヨ鍔ㄣ€備緥濡傦紝姣旀柟璇存偍浣跨敤 entity
鍛戒护鍒涘缓浜嗕竴涓疄浣撱€傜劧鍚庤緭鍏?hint
鍛戒护銆俁oo 浼氬憡璇夋偍搴斿綋浣跨敤 field
灏嗗瓧娈垫坊鍔犲埌鎮ㄧ殑瀹炰綋銆傝鐗规€у噺灏戜簡 Roo 鐨勬蹇垫潈閲嶏紝浣垮叾鎴愪负涓€涓紭绉€鐨勫涔犲伐鍏枫€傛偍鍙互璺熼殢 Roo help
鍜?hint
鍛戒护鍒涘缓瀹屽叏鐨勫簲鐢ㄧ▼搴忥紝鏃犻渶鍙傝€冩枃妗c€?/p>
鍏堝喅鏉′欢
鍦ㄥ紑濮嬩娇鐢?Roo 涔嬪墠锛岀‘淇濇偍瀹夎浜嗭細
- Java V6 JDK
- Apache Maven V2.0.9 鎴栨洿楂?/a>
瀹夎 Spring Roo
瑕佸畨瑁呯嫭绔嬬殑 Spring Roo锛?/p>
- 鎮ㄥ彲浠ヤ笅杞?Roo 鐙珛鍛戒护琛?shell 鎴栦娇鐢ㄥ唴缃殑 Roo SpringSource Tool Suite (STS) 鎻掍欢銆傛垜寤鸿涓よ€呴兘涓嬭浇骞朵竴璧蜂娇鐢紝鍥犱负 STS 涓哄熀浜?Spring 鐨勫簲鐢ㄧ▼搴忛€氳繃 Eclipse 鎻愪緵璁稿棰濆鍔熻兘銆?ol class="ibm-alpha-list">
- Spring Roo
- SpringSource Tool Suite
锛堜緥濡傦紝sudo ln -s ~/spring-roo-1.x.x/bin/roo.sh /usr/bin/roo
锛?/p>
鏋勫缓搴旂敤绋嬪簭
涓哄悜鎮ㄥ睍绀?Roo 鐨勫己澶у姛鑳斤紝璁╂垜浠垱寤轰竴涓畝鍗曠殑浼佷笟浼氳搴旂敤绋嬪簭銆備竴涓細璁簲鐢ㄧ▼搴忔湁涓や釜瀹炰綋锛歋peaker 鍜?Talk銆備竴涓?Speaker 鍙互鎻愪緵涓€娆℃垨澶氭璁茶瘽锛屼笖 Talk 灏嗕粎鐢变竴涓彂瑷€浜烘彁渚涖€傜畝鍗曠殑绫诲浘濡傚浘 1 鎵€绀恒€?/p>
鍥?1. 绫诲浘 Speaker Talk
鍒涘缓搴旂敤绋嬪簭锛?/p>
- 鎵撳紑鎿嶄綔绯荤粺鍛戒护琛?shell銆?/li>
- 浣跨敤
mkdir
鍛戒护鍒涘缓涓€涓悕涓?conference 鐨勭洰褰曘€?/li> - 杞埌鎮ㄧ殑 shell 涓殑 conference 鐩綍銆?/li>
- 杈撳叆 roo銆傝鍛戒护灏嗗惎鍔?Roo shell锛屽娓呭崟 1 鎵€绀恒€?/li>
娓呭崟 1. 鍚姩 Roo shell
C:\Users\xebia\demo\conference>roo ____ ____ ____ / __ \/ __ \/ __ \ / /_/ / / / / / / / / _, _/ /_/ / /_/ / /_/ |_|\____/\____/ 1.1.B.RELEASE [rev 793f2b0] Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER. roo>
鏃㈢劧鎴戜滑鍦?Roo shell 鍐呴儴锛屾垜浠皢浣跨敤 Roo 鐨?hint
鍛戒护鏉ュ紩瀵兼帴涓嬫潵鐨勬楠ゃ€?code>hint 寤鸿浣跨敤 project
鍒涘缓涓€涓柊鐨勫熀浜?Maven 鐨?Spring 椤圭洰锛堝弬瑙佹竻鍗?2锛夈€?/p>
娓呭崟 2. 浣跨敤 Roo shell 涓殑 hint
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER. roo> hint Welcome to Roo! We hope you enjoy your stay! Before you can use many features of Roo, you need to start a new project. To do this, type 鈥檖roject鈥?(without the quotes) and then hit TAB. Enter a --topLevelPackage like 鈥檆om.mycompany.projectname鈥?(no quotes). When you're finished completing your --topLevelPackage, press ENTER. Your new project will then be created in the current working directory. Note that Roo frequently allows the use of TAB, so press TAB regularly. Once your project is created, type 鈥檋int鈥?and ENTER for the next suggestion. You're also welcome to visit http://forum.springframework.org`for Roo help. roo>
姝e hint
鍛戒护鎵€寤鸿鐨勶紝鎴戜滑灏嗕娇鐢?project
鍛戒护鍒涘缓涓€涓」鐩€傝鍛戒护鏈変竴涓繀瑕佸睘鎬?topLevelPackage
锛岀敤浜庢寚瀹氭牴绋嬪簭鍖呯殑鍚嶇О銆傞櫎浜嗗繀瑕佸睘鎬т箣澶栵紝鎴戜滑灏嗕娇鐢ㄤ袱涓彲閫夊睘鎬э細java
锛堟寚瀹?Java 鐗堟湰锛夊拰 projectName
锛堟寚瀹氶」鐩悕绉帮級銆傝緭鍏ヤ互涓嬪唴瀹癸細
project --topLevelPackage com.dw.roo.conference --java 6 --projectName conference
璇ュ懡浠ゅ皢鍒涘缓涓€涓?Maven V2 绠$悊鐨勫熀浜?Spring 鐨勯」鐩紝濡備互涓嬭緭鍑烘墍绀猴細
Created C:\Users\xebia\demo\conference\pom.xml Created SRC_MAIN_JAVA Created SRC_MAIN_RESOURCES Created SRC_TEST_JAVA Created SRC_TEST_RESOURCES Created SRC_MAIN_WEBAPP Created SRC_MAIN_RESOURCES\META-INF\spring Created SRC_MAIN_RESOURCES\META-INF\spring\applicationContext.xml Created SRC_MAIN_RESOURCES\log4j.properties
鍐嶆杈撳叆 hint
鍚?Roo 璇㈤棶涓嬩竴姝ヨ鍔ㄣ€傝繖娆″畠寤鸿寤虹珛鎸佷箙鍖栨満鍒躲€傚湪 shell 涓婅緭鍏?persistence setup
骞舵寜涓?Tab 涓夋銆傛偍浼氳幏寰?--provider
閫夐」銆傛寜涓?H 鐒跺悗鎸変笅 Tab 瀹屾垚 鈥淗IBERNATE鈥濄€傚湪鎻愪緵鑰呬箣鍚庯紝鎸変笅 tab 閫夋嫨鏁版嵁搴擄紝鎮ㄤ細鐪嬪埌鏈夊ぇ閲忛€夐」銆傚洜涓烘垜浠娇鐢?Hibernate 浣滀负鎴戜滑鐨勬彁渚涜€咃紝鎴戜滑涓嶈兘閫夋嫨闈炲叧绯诲瀷鏁版嵁搴擄紝姣斿 Google App Engine銆傜幇鍦紝鎴戞墦绠椾娇鐢?HYPERSONIC_IN_MEMORY 鏁版嵁搴撱€?/p>
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
杩樻湁鍏朵粬鍙€夊睘鎬э紝姣斿鐢ㄦ埛鍚嶅拰瀵嗙爜锛岃繖娆℃垜浠笉闇€瑕佽繖浜涖€?/p>
鐜板湪鎴戜滑宸茬粡寤虹珛浜嗘寔涔呭寲鏈哄埗锛屾垜浠皢鍐嶆浣跨敤 hint
鍛戒护銆傝繖娆℃垜浠鍛婄煡瑕佷娇鐢?entity
鍛戒护鍒涘缓瀹炰綋銆?code>Entity 鐢ㄤ簬鍒涘缓瀹為檯鍩熷璞★紝涓旀湁涓€涓繀瑕佸睘鎬?class
锛岀敤浜庢寚瀹氬疄浣撶殑鍚嶇О銆傞櫎浜嗗繀闇€鐨?--class
灞炴€э紝鎴戜滑杩樺皢浣跨敤 --testAutomatically
灞炴€э紝璇ュ睘鎬т负鍩熷璞″垱寤洪泦鎴愭祴璇曘€傝鎴戜滑鍒涘缓涓や釜瀹炰綋锛歋peaker 鍜?Talk銆?/p>
entity --class ~.domain.Speaker 鈥搕estAutomatically entity --class ~.domain.Talk --testAutomatically
鎴戜娇鐢ㄤ簡 ~
浣滀负椤圭洰椤剁骇绋嬪簭鍖呯殑鍗犱綅绗︺€?/p>
Entity
灏嗗垱寤轰竴涓伒娲荤殑銆佺壒鎬т赴瀵岀殑 JPA 瀹炰綋銆傛墍鍒涘缓鐨勫疄浣撳皢鏈?JPA @Entity锛屽甫鏈?ID銆佺増鏈€丒ntityManager 鍜屾棤鍙傛暟鐨勬瀯閫犲嚱鏁般€傛墍鐢熸垚鐨勫疄浣撳皢鎷ユ湁 persist銆乵erge銆乺emove銆乫lush銆乧ount銆乫ind 鍜?findById 绛夋柟娉曘€傚鏋滅湅涓€涓嬭鍛戒护鐨勮緭鍑猴紝鎮ㄤ細娉ㄦ剰鍒拌鍛戒护闄や簡鍒涘缓 Java 鏂囦欢锛堜负 Speaker 鍜?Talk锛夛紝杩樺垱寤轰簡浠?*Roo_*.aj 缁撳熬鐨?AspectJ 鏂囦欢銆傝繖浜?*Roo_*.aj 绉颁负 Intertype Declaration (ITD)銆丮ixins 鎴?Introductions銆俁oo 灏?ITD 浣滀负涓€涓唬鐮佺敓鎴愮殑宸ヤ欢銆侷TDs 鍏佽 Roo 鍦ㄤ竴涓崟鐙殑缂栬瘧鍗曞厓涓敓鎴愪唬鐮侊紝浣?ITDs 鍦ㄧ紪璇戞椂琚悎骞舵垚鍚屼竴涓紪璇戠被銆侫spectJ intertype 澹版槑鐢ㄤ簬鑷姩鐢熸垚 ID 鍜岀増鏈瓧娈碉紝浠ュ強鍩熺被涓寔涔呭寲瀛楁鐨?getters 鍜?setters銆?/p>
鍐嶆浣跨敤 hint
鎻愪緵寤鸿锛屾牴鎹缓璁娇鐢?field
鍛戒护灏嗗瓧娈垫坊鍔犲埌瀹炰綋銆傝鎴戜滑缁?Speaker 瀹炰綋娣诲姞涓€浜涘瓧娈碉細
field string --fieldName firstname --class ~.domain.Speaker --notNull field string --fieldName lastname --notNull field string --fieldName email --unique --notNull field string --fieldName organization field date --fieldName birthdate --type java.util.Date --past --notNull field number --type java.lang.Long --fieldName age --min 25 --max 60
--class
閫夐」鍏佽鎴戜滑鎸囧畾鍚戝摢涓被娣诲姞瀛楁銆?/p>
field
鍛戒护鍙敤浜庢寚瀹氱壒瀹氫簬 JavaBean 楠岃瘉鐨勬敞閲婏紝鍚湁 --max
鍜?--min
绛夐€夐」銆傚畠杩樺彲鐢ㄤ簬鎸囧畾鐗瑰畾浜?JPA 鐨勬敞閲婏紝鍚湁 --fetch
銆?code>--column 鍜?--unique
绛夐€夐」銆傚浜庢棩鏈熷瓧娈碉紝鎮ㄨ繕鍙互鎸囧畾鏃ユ湡搴斿綋鏄繃鍘昏繕鏄皢鏉ワ紝姝e涓婇潰浣跨敤鐨勩€備娇鐢?field
锛屾偍鏃犻渶璁颁綇杩欎簺娉ㄩ噴銆?/p>
鐜板湪璁╂垜浠悜 Talk 瀹炰綋娣诲姞涓€浜涘瓧娈碉細
field string --fieldName title --class ~.domain.Talk --notNull field string --fieldName description --notNull --sizeMax 4000
鐩墠涓烘锛屾垜浠垱寤轰簡瀹炰綋骞跺悜鍏舵坊鍔犱簡瀛楁锛屼絾鏄垜浠病鏈夋寚瀹氬畠浠箣闂寸殑鍏崇郴銆係peaker 涓?Talk 涔嬮棿鐨勫叧绯绘槸 ONE_TO_MANY锛堜緥濡傦紝涓€涓彂瑷€浜哄彲鍙戣〃澶氭璁茶瘽锛夈€傝繖閫氳繃 field
瀹屾垚锛屽涓嬫墍绀猴細
field set --fieldName talks --element ~.domain.Talk --class \ ~.domain.Speaker --cardinality ONE_TO_MANY field reference --fieldName speaker --type ~.domain.Speaker \ --class ~.domain.Talk 鈥搉otNull
鐜板湪鎴戜滑鎯充负浼氳搴旂敤绋嬪簭 scaffold锛堟惌寤猴級 涓€涓?web 灞傦紝鍙€氳繃 controller
鍛戒护瀹屾垚銆傜敓鎴愭帶鍒跺櫒鍜屾墍鏈夌浉鍏?web 宸ヤ欢鏈€鏂逛究鐨勬柟寮忔槸浣跨敤 controller all
銆?/p>
controller all --package ~.web
绗?涓€娆′娇鐢ㄦ帶鍒跺櫒鍛戒护杩樹細娣诲姞棰濆鐨勪緷璧栭」鍒版偍鐨勯」鐩腑锛屾瘮濡?Spring MVC 鍜?Tiles銆傝繖鍙兘闇€瑕佷竴浜涙椂闂存潵杩愯锛屽洜涓哄畠闇€瑕佷笅杞芥墍鏈変緷璧栭」锛堝鏋滃畠浠笉瀛樺湪浜庢偍鐨?Maven 瀛樺偍搴撲腑锛夈€傝鍛戒护杩樺睍绀?Roo 鐨勫姛鑳戒箣涓€锛氬彧鏈夊湪闇€瑕佷緷璧栭」鏃舵墠浜堜互娣诲姞銆?/p>
涓嬩竴姝ワ紝鎴戜滑灏嗕娇鐢?logging 鍛戒护寤虹珛 log4j銆?/p>
logging setup --level INFO --package ALL_SPRING
閫€鍑?Roo shell 涔嬪墠搴斿仛鐨勬渶鍚庝竴浠朵簨鏄紝褰撴垜浠娇鐢?entity
鍛戒护鎸囧畾浜?--testAutomatically
鏃讹紝杩愯鐢熸垚鐨勯泦鎴愭祴璇曘€傝浠?shell 涓繍琛屾祴璇曪紝杈撳叆 perform tests
銆?/p>
Roo 灏嗚皟鐢ㄥ鎵樼粰 Maven 鏉ヨ繍琛屾祴璇曪紝鍥犳 perform tests
绛夊悓浜?mvn test
鍛戒护銆傝緭鍏?q 鎴?quit 閫€鍑?shell銆?/p>
杩欎簺鍛戒护灏嗗垱寤轰竴涓姛鑳介綈鍏ㄧ殑浼氳搴旂敤绋嬪簭銆傛帴涓嬫潵鎴戜滑灏嗚繍琛岃繖涓簲鐢ㄧ▼搴忋€?/p>
瑕佽繍琛岃搴旂敤绋嬪簭锛岃緭鍏?mvn tomcat:run
锛岃繖灏嗗惎鍔?jetty 鏈嶅姟鍣ㄣ€傛墦寮€ web 娴忚鍣ㄥ苟杞嚦 http://localhost:8080/conference/銆傛偍浼氱湅鍒板浘 2 涓殑灞忓箷銆?/p>
鍥?2. 浼氳搴旂敤绋嬪簭涓婚〉
鎮ㄥ彲浠ュ崟鍑?Create new Speaker 鍒涘缓涓€涓細璁彂瑷€浜恒€傛偍杩樺彲浠ュ崟鍑?List all Speakers 鏉ユ煡鐪嬨€佺紪杈戝拰鍒犻櫎鐢ㄦ埛銆備互鍚屾牱鐨勬柟寮忥紝鎮ㄥ彲浠ュ垱寤轰竴涓?Talk锛屼絾鏄繀椤诲湪鍒涘缓 Speaker 涔嬪悗銆?/p>
杩欐槸涓€涓畝鍗曠殑搴旂敤绋嬪簭锛屼絾鏄畠灞曠ず濡備綍鍦ㄦ暟鍒嗛挓鍐呬粠澶磋交鏉惧垱寤轰竴涓柊鐨勫熀浜?Spring 鐨?web 搴旂敤绋嬪簭銆傚湪鏈郴鍒楃殑绗?2 閮ㄥ垎锛屾垜灏嗗悜鎮ㄥ睍绀哄浣曚娇鐢ㄤ笉鍚岀殑 Roo 鍔熻兘鍜岄檮鍔犵粍浠舵瀯寤哄簲鐢ㄧ▼搴忋€?/p>
鐜板湪鎴戜滑宸茬粡鍒涘缓浜嗕竴涓畝鍗曠殑搴旂敤绋嬪簭锛屾垜灏嗗悜鎮ㄥ睍绀哄浣曞湪 Windows 鍜?Ubuntu 涓婄紪璇?Spring Roo 婧愪唬鐮併€?/p>
鍥為〉棣?/a>
浠庢簮浠g爜鏋勫缓 Spring Roo
Spring Roo V1.1.0 鏄渶鏂板彂甯冪増鏈紝鐩墠姝e湪绉瀬寮€鍙?V1.1.1 鐗堟湰銆傛偍鍙兘闇€瑕佷粠婧愪唬鐮佹瀯寤?Spring Roo 鐨勫師鍥犲涓嬶細
- Spring Roo 涓嶆彁渚涘闂存瀯寤猴紝鍥犳濡傛灉鎮ㄥ笇鏈涗娇鐢?Spring Roo 鐨勬渶鏂板姛鑳斤紝灏遍渶瑕佺紪璇?Spring Roo 鐨勬簮浠g爜銆?/li>
- 鎮ㄥ笇鏈涗负 Spring Roo 椤圭洰鍋氫换浣曠被鍨嬬殑寮€鍙戙€?/li>
- 鎮ㄥ笇鏈涗负 Spring Roo 缂栧啓闄勫姞缁勪欢銆?/li>
- 鎮ㄥ彧甯屾湜鎶婄帺涓€涓?Spring Roo 浠g爜锛岀湅鐪嬪畠鏄浣曞疄鐜版垨缂栧啓鐨勩€?/li>
缁撴灉
鍦?鏈儴鍒嗙粨灏撅紝鎮ㄥ皢鑳藉鍦?Windows 鍜?*nix 绯荤粺涓婃垚鍔熻繍琛屾渶鏂?Spring Roo 婧愪唬鐮佺殑 Maven 鐗堟湰銆傛偍灏嗚兘澶熶娇鐢ㄦ渶鏂扮殑 Spring Roo 骞跺皢 Spring Roo 椤圭洰瀵煎叆 Eclipse 鎴?STS (SpringSource Tool Suite)銆?/p>
鍦?Ubuntu 涓婄紪璇?Spring Roo 婧愪唬鐮佺殑杩囩▼
鍦?Ubuntu锛堝拰鍏朵粬 *nix 绯荤粺锛変笂缂栬瘧婧愪唬鐮佸緢瀹规槗銆傚彧闇€閬靛惊浠ヤ笅姝ラ锛?/p>
- 瀹夎 Git锛屼竴涓垎甯冨紡婧愪唬鐮佹帶鍒剁鐞嗙郴缁熴€傝鍦?Ubuntu 绯荤粺涓婂畨瑁呭畠锛岃緭鍏?
sudo apt-get install git-core gitk
銆?/li> - 杈撳叆
git clone git://git.springsource.org/roo/roo.git
锛屼娇鐢?Git 绛惧嚭 Spring Roo銆傛偍灏嗗湪涓荤洰褰曚腑鐪嬪埌涓€涓?roo 鏂囦欢澶癸紝鍏朵腑鍖呭惈鎵€鏈?Roo 婧愪唬鐮併€?/li> - GnuPG 鏀寔鏁版嵁鍜岄€氫俊鐨勫姞瀵嗗拰绛惧悕锛屼笖浠ヤ竴涓鍔熻兘鐨勫瘑閽ョ鐞嗙郴缁熷拰鍚勭鍏挜鐩綍鐨勮闂ā鍧椾负鐗硅壊銆俁oo 浣跨敤 GPG 鏉ヨ嚜鍔ㄧ鍚嶇紪璇戣緭鍑恒€?/li>
- 瑙﹀彂鍛戒护
gpg --list-secret-keys
銆傝緭鍑哄簲褰撶被浼间簬娓呭崟 3銆?娓呭崟 3. gpg list 鍛戒护鐨勭粨鏋?/h5>
C:\dev\roo-sourcecode\roo>gpg --1ist-secret-keys C:/Users/xebia/AppData/Roaming/gnupg\secring.gpg sec 2048R/2F96093B 2010-07-03 uid shekhar (spring-roo) <shekhargu1ati84@gmai1.com> ssb 2048R/B77E5C63 2010-07-03 C:\dev\roo-sourcecode\roo>_
- 濡傛灉鎮ㄧ湅涓嶅埌杈撳嚭锛岄鍏堝繀椤诲垱寤轰竴涓瘑閽ャ€備娇鐢?
gpg 鈥揼en-key
锛屽畠灏嗗紩瀵兼偍閫愭鍒涘缓瀵嗛挜銆傜劧鍚庝娇鐢?gpg 鈥搇ist-secret-keys
楠岃瘉鎮ㄦ柊鍒涘缓鐨勫瘑閽ュ凡鐢熸垚銆?/li> - 鎺ヤ笅鏉ワ紝鎮ㄩ渶瑕佸彂甯冩偍鐨勫瘑閽ュ埌鍏挜鏈嶅姟鍣ㄣ€傛敞鎰?
鈥搇ist-secret-keys
涓樉绀虹殑sec
瀵嗛挜 ID銆傚湪鎴戠殑渚嬪瓙涓紝瀵嗛挜 ID 鏄?2F96093B銆傞€氳繃gpg 鈥搆eyserver hkp://pgp.mit.edu 鈥搒end-keys 2F96093B
灏嗘偍鐨勫叕閽ユ帹閫佸埌涓€涓瘑閽ユ湇鍔″櫒锛堝湪缁撳熬鏇存敼瀵嗛挜 ID锛夈€?/li> - 涓€浜?Roo 妯″潡闇€瑕佸凡缁忎笉浠?OSGi 褰㈠紡瀛樺湪鐨?JAR銆傚嵆锛屽畠浠病鏈変竴涓?OSGi 鎰熺煡鐨勬竻鍗曘€俁oo 鏈変竴涓О涓?wrapping 鐨勭壒娈婇」鐩紝鍙皢甯告€?JAR 杞寲涓?OSGi JAR銆傛偍闇€瑕佸湪璇曞浘浣跨敤 Roo 涔嬪墠杩愯鍖呰绋嬪簭銆傛病鏈夊寘瑁呯▼搴忥紝鎮ㄥ皢鐪嬪埌閿欒锛岃 Maven 鏃犳硶鎵惧埌
org.springframework.roo.wrapping.some_module
銆傝鍒涘缓 JAR 鏂囦欢鍖咃紝浠庢牴 Roo 绛惧嚭浣嶇疆杈撳叆锛?cd wrapping mvn clean install cd..
- 鎺ヤ笅鏉ワ紝杩愯
mvn clean install
鍛戒护銆傦紙Maven V2 搴斿綋瀹夎鍦ㄤ簡鎮ㄧ殑绯荤粺涓娿€傚鏋滄病鏈夛紝绔嬪嵆瀹夎瀹冦€傦級姣忔缂栬瘧婧愪唬鐮佹椂锛孧aven 灏嗘彁绀烘偍杈撳叆鎮ㄧ殑瀵嗛挜鐨勫瘑鐮?鍙d护锛堟偍杈撳叆浜嗗彛浠ょ殑鍚屾椂鍒涘缓 GPG 瀵嗛挜锛夈€傝緭鍏ュ彛浠ゅ苟鎸変笅 Enter銆傜紪璇戞簮浠g爜闇€瑕佸嚑鍒嗛挓鏃堕棿銆?/li>
鍦?Windows 涓婄紪璇?Roo 婧愪唬鐮佺殑杩囩▼
涓?Ubuntu 鐩告瘮锛屽湪 Windows 涓婄紪璇戞簮浠g爜鏈夌偣鍥伴毦銆傝閬靛惊浠ヤ笅姝ラ锛?/p>
- 瀹夎 Git锛屼竴涓垎甯冨紡婧愪唬鐮佹帶鍒剁鐞嗙郴缁熴€傝寮€濮嬫杩囩▼锛屾偍闇€瑕佸湪鎮ㄧ殑 windows 鏈哄櫒涓婂畨瑁?Git銆傛垜鍦ㄦ垜鐨?windows 鏈哄櫒涓婂畨瑁呬簡 msysGit 銆傚鏋滄偍宸茬粡瀹夎浜?Git锛岄偅涔堝彲浠ヨ烦杩囪繖涓€姝ャ€傚湪瀹夎 msysGit 鏃讹紝瀹冧細瑕佹眰閫夋嫨瀹夎浣嶇疆銆傚畠浼氭墦寮€涓€涓懡浠ゆ彁绀虹锛屽苟寮€濮嬭Е鍙戝ぇ閲忓懡浠ゃ€傝繖灏嗘寔缁ぇ绾?1 鍒嗛挓銆傚畨瑁呭畬鎴愪箣鍚庯紝鎮ㄥ皢鐪嬪埌濡傛竻鍗?4 鎵€绀虹殑涓€涓睆骞曘€?
娓呭崟 4. 瀹夎 msysGit
{ test "$bindir/" = "$execdir/" || \ { rm -f "$execdir/git.exe" && \ test -z "" && \ ln "$bindir/git.exe" "$execdir/git.exe" 2>/dev/null || \ cp "$bindir/git.exe" "$execdir/git.exe"; } ; } && \ { for p in git-add.exe git-annotate.exe git-apply.exe git-archive.exe git-bisect--helper.exe git-blame.exe git-branch.exe git-bundle.exe git-cat-file.exe git-check-attr.exe git-check-ref rm -f "$execdirf$p" && \ ln "Sexecdir/git.exe" "Sexecdir/$p" 2>/dev/null ll \ ln -s "git.exe" "$execdir/$p" 2>/dev/null || \ cp "Sexecdir/git.exe" "$execdir/$p" Il exit; \ done; } && \ { test x"git-renote-https.exe git-renote-ftp.exe \ git-renote-ftps.exe" = x ll \ { for p in git-remote-https.exe git-remote-ftp.exe \ git-remote-ftps.exe; do \ rm -f "$execdir{$p" && \ ln "Sexecdir/git-remote-http.exe" "$execdir/$p" 2>/dev/null ll \ ln -s 鈥済it-renote鈥攈ttp.exe" "$execdir/$p" 2>/dev/null || \ cp "Sexecdir/git-remote-http.exe" "Sexecdir/$p" ll exit; \ done; } ; } && \ ./check_bindir "z$bindir" "z$execdir" "Sbindir/git鈥攁dd.exe" ------------------------- Hello, dear Git developer. This is a minimal MSYS environment to work on Git. You are in the git working tree, and all is ready for you to hack. Welcome to msysGit Run 'git help git' to display the help index. Run 'git help <command>' to display help for specific commands. Run '/share/msysGit/add-shortcut.tcl' to add a shortcut to msysGit. It appears that you installed msysGit using the full installer. To set up the Git repositories, please run /share/msysGit/initialize.sh
- 璁剧疆 Git 鐜鍙橀噺銆傞渶瑕佸湪鎮ㄧ殑 Windows 璺緞涓缃?Git銆傚皢 ${MSYSGIT}\msysgit\bin 鍜?{MSYSGIT}\msysgit\mingw\bin 娣诲姞鍒版偍鐨?Windows 璺緞涓紝鍏朵腑 ${MSYSGIT} 鏄畨瑁?msysGit 鐨勪綅缃€傛墦寮€涓€涓柊鐨勫懡浠ゆ彁绀虹骞惰緭鍏?
git
銆傛偍灏嗙湅鍒板鍥?7 鎵€绀虹殑杈撳嚭銆?娓呭崟 5. Git 鍛戒护鎻愮ず绗?/h5>
C:\>git usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path] [-pl--paginate|I--no-pager] [--no-replace-objects] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [-c name=value [--help] COMMAND [ARGS] The most commonly used git commands are: add Add file contents to the index bisect Find by binary search the change that introduced a bug branch List, create, or delete branches checkout Checkout a branch or paths to the working tree clone Clone a repository into a new directory commit Record changes to the repository diff Show changes between commits, commit and working tree, etc fetch Download objects and refs from another repository grep Print lines matching a pattern init Create an empty git repository or reinitialize an existing log Show commit logs merge Join two or more development histories together mv Move or rename a file, a directory, or a symlink pull Fetch from and merge with another repository or a local bra push Update remote refs along with associated objects rebase Forward-port local commits to the updated upstream head reset Reset current HEAD to the specified state rm Remove files from the working tree and from the index show Show various types of objects status Show the working tree status tag Create, list, delete or verify a tag object signed with GPG See 鈥檊it help COMMAND鈥?for more information on a specific command. C:\>_
- 浣跨敤 Git 绛惧嚭 Spring Roo銆傚湪杩欎竴姝ヤ腑锛屾偍灏嗕娇鐢?Git 绛惧嚭鏈€鏂版簮浠g爜锛屼粠鑰屽垱寤?Spring Roo 鐨勬湰鍦板厠闅嗐€傛墦寮€涓€涓懡浠ゆ彁绀虹骞惰浆鑷虫偍甯屾湜绛惧嚭 Spring Roo 鐨勪綅缃€傝緭鍏?
git clone git://git.springsource.org/roo/roo.git
銆備竴鐩寸瓑鍒板畠瀹屾垚涓烘銆傝繖灏嗗湪鎮ㄧ鍑?Spring Roo 鐨勪綅缃垱寤轰竴涓悕涓?roo 鐨勬柊鏂囦欢澶广€?/li> - 涓嬭浇鍜屽畨瑁?GPG for Windows銆侴nuPG 鏄?GNU 鐢ㄤ簬纭繚瀹夊叏閫氫俊鍜屾暟鎹瓨鍌ㄧ殑宸ュ叿銆傚畠鍙敤浜庡姞瀵嗘暟鎹拰鍒涘缓鏁板瓧绛惧悕銆俁oo 浣跨敤 GPG 鏉ヨ嚜鍔ㄧ鍚嶇紪璇戣緭鍑恒€傚畨瑁呬簡 GPG 涔嬪悗锛屼娇鐢?
gpg 鈥搇ist-secret-keys
銆傛偍搴斿綋浼氱湅鍒扮被浼兼竻鍗?6 鐨勮緭鍑恒€?娓呭崟 6. gpg list 鍛戒护鐨勭粨鏋?/h5>
C:\dev\roo-sourcecode\roo>gpg --1ist-secret-keys C:/Users/xebia/AppData/Roaming/gnupg\secring.gpg sec 2048R/2F96093B 2010-07-03 uid shekhar (spring-roo) <shekhargu1ati84@gmai1.com> ssb 2048R/B77E5C63 2010-07-03 C:\dev\roo-sourcecode\roo>_
- 濡傛灉娌℃湁鐪嬪埌杈撳嚭锛岃繖琛ㄦ槑鎮ㄩ鍏堥渶瑕佸垱寤轰竴涓瘑閽ャ€備娇鐢?
gpg 鈥揼en-key
銆傚畠浼氬紩瀵兼偍閫愭鍒涘缓瀵嗛挜銆備娇鐢?gpg 鈥搇ist-secret-keys
楠岃瘉鎮ㄦ柊鍒涘缓鐨勫瘑閽ュ凡鐢熸垚銆?/li> - 鍙戝竷鎮ㄧ殑瀵嗛挜鍒颁竴涓叕閽ユ湇鍔″櫒涓娿€傛敞鎰?
鈥搇ist-secret-keys
涓婃樉绀虹殑sec
瀵嗛挜 ID銆傚湪鎴戠殑渚嬪瓙涓紝璇?ID 鏄?2F96093B銆傞€氳繃gpg 鈥搆eyserver hkp://pgp.mit.edu 鈥搒end-keys 2F96093B
灏嗘偍鐨勫叕閽ユ帹閫佸埌涓€涓瘑閽ユ湇鍔″櫒涓婏紙鍦ㄧ粨灏炬洿鏀瑰瘑閽?ID锛夈€?/li> - 棣栧厛鏋勫缓鍖呰绋嬪簭椤圭洰銆備竴浜?Roo 妯″潡闇€瑕佸凡缁忎笉浠?OSGi 褰㈠紡瀛樺湪鐨?JAR銆傚嵆锛屽畠浠病鏈変竴涓?OSGi 鎰熺煡鐨勬竻鍗曘€俁oo 鏈変竴涓悕涓?wrapping 鐨勭壒娈婇」鐩紝鍙皢甯告€?JAR 杞寲鎴?OSGi JAR銆傛偍闇€瑕佸湪璇曞浘浣跨敤 Roo 涔嬪墠杩愯鍖呰绋嬪簭銆傛病鏈夊畨瑁呯▼搴忥紝鎮ㄥ皢鐪嬪埌閿欒锛岃 Maven 鏃犳硶鎵惧埌
org.springframework.roo.wrapping.some_module
銆傝鍒涘缓 JAR 鏂囦欢鍖咃紝浠庢牴 Roo 绛惧嚭浣嶇疆杈撳叆锛?cd wrapping mvn clean install cd..
- 杩愯
mvn clean install
鍛戒护銆傦紙Maven V2 搴斿綋瀹夎鍦ㄤ簡鎮ㄧ殑绯荤粺涓娿€傚鏋滄病鏈夛紝绔嬪嵆瀹夎瀹冦€傦級姣忔缂栬瘧婧愪唬鐮佹椂锛孧aven 灏嗘彁绀烘偍杈撳叆鎮ㄧ殑瀵嗛挜鐨勫瘑鐮?鍙d护锛堟偍杈撳叆浜嗗彛浠ょ殑鍚屾椂鍒涘缓 GPG 瀵嗛挜锛夈€傝緭鍏ュ彛浠ゅ苟鎸変笅 Enter銆傜紪璇戞簮浠g爜闇€瑕佸嚑鍒嗛挓鏃堕棿銆?/li> - 鍦ㄦ偍鐨勭郴缁熻缃腑寤虹珛鐜鍙橀噺 ROO-DEV锛岃鍙橀噺搴旀寚鍚?Roo 椤圭洰鍐呯殑寮曞鏂囦欢澶广€傛偍杩樺簲褰撴坊鍔犺鍙橀噺鍒?PATH 鐜鍙橀噺锛屽鍥?3 鎵€绀恒€?/li>
鍥?3. 寤虹珛 ROO-DEV 鍙橀噺
鎮ㄧ幇鍦ㄥ彲浠ヤ娇鐢ㄦ渶鏂板紑鍙戠殑 Roo 鐗堟湰浜嗐€傛墦寮€鍛戒护鎻愮ず绗︼紝鍒涘缓涓€涓悕涓?mkdir roo_dev_demo 鐨勬柊鏂囦欢澶癸紝骞惰Е鍙?roo-dev
鍛戒护銆傛偍灏嗙湅鍒版竻鍗?7 涓墍绀虹殑灞忓箷銆?/p>
娓呭崟 7. ROO-DEV shell
C:\Users\xebia\demo\conference>roo ____ ____ ____ / __ \/ __ \/ __ \ / /_/ / / / / / / / / _, _/ /_/ / /_/ / /_/ |_|\____/\____/ 1.1.B.RELEASE [rev 793f2b0] Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER. roo>
鎮ㄥ彲鑳藉笇鏈涙洿鏂?Spring Roo 婧愪唬鐮佹潵浣跨敤鏈€鏂扮増鏈殑 Spring Roo銆傛墦寮€鍛戒护鎻愮ず绗﹀苟杞嚦 Spring Roo 鐨勬簮浠g爜浣嶇疆銆傝Е鍙?git pull
鍛戒护锛岃鍛戒护浼氬皢鎵€鏈夎繙绋嬫洿鏀规媺鍏ュ埌鎮ㄧ殑鏈湴鍏嬮殕涓紝鐒跺悗鎵ц涓€涓?mvn clean install
鍛戒护鏉ョ紪璇戞洿鏂扮殑婧愪唬鐮併€?/p>
鍥為〉棣?/a>
缁撴潫璇?/h2>
姝ゆ椂锛屾偍宸茬粡鏋勫缓浜嗕竴涓畝鍗曠殑 web 搴旂敤绋嬪簭锛屾湡闂寸敋鑷虫棤闇€鎵撳紑鎴戜滑鐨勭紪杈戝櫒鎴栧弬鑰冧换浣曟枃妗c€傚簲鐢ㄧ▼搴忓厑璁告偍瀵瑰疄浣撴墽琛?CRUD 鎿嶄綔銆傛垜甯屾湜鎮ㄧ湅鍒?Roo 涓?Java 寮€鍙戜汉鍛樺甫鏉ヤ簡閲嶅ぇ鐢熶骇鏁堢巼鏀剁泭銆傚畠浣跨敤澶ч儴鍒嗗紑鍙戜汉鍛樺凡缁忕啛鐭ョ殑鎴愮啛鍜岀ǔ瀹氱殑鎶€鏈€?/p>
鍦ㄧ 2 閮ㄥ垎锛屾垜浠皢浣垮簲鐢ㄧ▼搴忔洿瀹夊叏銆佹坊鍔犲浗闄呭寲鏀寔銆佹坊鍔犳秷鎭紶閫掓敮鎸侊紙SMTP 鍜?JMS锛夛紝骞跺畾鍒跺簲鐢ㄧ▼搴忋€傛垜浠繕灏嗘帰绌?Roo 鐨勪竴涓暟鎹簱閫嗗悜宸ョ▼鐗规€э紝灏嗚搴旂敤绋嬪簭杞寲涓轰竴涓姛鑳藉叏闈㈢殑浼佷笟搴旂敤绋嬪簭銆?/p>