锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1銆佷笅杞?/span>Groovy 1.5 鍙?/span>Grails 1.0.3
2銆佽緗幆澧冨彉閲忥細JAVA_HOME,GROOVY_HOME,GRAILS_HOME銆傝緗?/span>PATH:鎶?/span>grails_home鍙?/span>groovy_home涓殑bin鐩綍鍔犲叆鍒?/span>path涓?/span>
3銆佽緗ソ涓婇潰鐨勮礬寰勶紝楠岃瘉涓涓嬫槸鍚﹂厤緗垚鍔燂紝鎵撳紑cmd鍛戒護琛岋紝杈撳叆”grails”
Welcome to Grails 1.0.3 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: F:\grails-1.0.3
No script name specified. Use 'grails help' for more info or 'grails interactive
' to enter interactive mode
鍑虹幇浠ヤ笂淇℃伅璇存槑grails閰嶇疆鎴愬姛錛屼笅闈㈠氨鍙互寮濮嬩嬌鐢ㄤ簡銆?/span>
浜屻?span style="font-family: 瀹嬩綋">寮濮嬪涔?/span>
1銆?nbsp;鍒涘緩涓涓?/span>grails鐨勫伐紼嬶紝鐜板湪鎴戜滑鐢ㄥ懡浠よ鐨勬柟寮忔潵鐪嬫槸鎬庝箞浣跨敤鐨勶紝鎴戠敤鐨?/span>IDE宸ュ叿鏄?/span>IDEA錛岄噷闈㈣涓?/span>jetgrooy鎻掍歡鍙互寰堟柟渚跨殑寮鍙?/span>grails欏圭洰銆?/span>
棣栧厛錛屽厛寤轟竴涓嚜宸辯殑宸ヤ綔鐩綍grails_project,榪涘叆寤虹珛鐨勫伐浣滅洰褰曪紝
杈撳叆“grails create-app”榪欐槸浼氳繍琛?/span>grails鐨勮剼鏈潵寤虹珛宸ョ▼錛屼腑闂翠細鍑虹幇
Environment set to development
Application name not specified. Please enter:
璁╃敤鎴瘋緭鍏ヨ嚜宸辯殑宸ョ▼鐨勫悕縐幫紝杈撳叆涓涓嚜宸卞伐紼嬬殑鍚嶇О鍗沖彲銆傜洰褰曠粨鏋?/span>
鈹溾攢grails-app ->榪欐槸grails宸ョ▼鐨勭洰褰曪紝鍩烘湰涓婃墍鏈夌殑鏂囦歡閮藉湪榪欎釜鐩綍涓?/span>
鈹?/span> 鈹溾攢conf ->grails鐨勪竴浜涘熀鏈厤緗洰褰?/span>
鈹?/span> 鈹?/span> 鈹溾攢hibernate
鈹?/span> 鈹?/span> 鈹斺攢spring
鈹?/span> 鈹溾攢controllers ->鎺у埗鍣ㄦ枃浠剁殑鐩綍錛岀被浼?/span>Struts鐨?/span>Action鐩綍
鈹?/span> 鈹溾攢domain ->榪欐槸domain綾葷殑鐩綍錛岀被浼?/span>HO錛屾墍鏈夌殑鎿嶄綔閮芥槸鍩轟簬榪欎釜鐩綍鐨?/span>
鈹?/span> 鈹溾攢i18n ->鍥介檯鍖栫洰褰曪紝濡傛灉鏄腑鏂囩殑闇瑕佸鍔?/span>_zh.properties鏂囦歡
鈹?/span> 鈹溾攢services -> services鐩綍錛屽彲浠ュ啓涓浜涜嚜宸辯殑services綾?/span>
鈹?/span> 鈹溾攢taglib ->鑷畾涔夋爣絳炬枃浠剁洰褰?/span>
鈹?/span> 鈹溾攢utils ->宸ュ叿綾?/span>
鈹?/span> 鈹斺攢views ->榪欓噷鏀劇殑灝辨槸鎵鏈夊墠鍙版樉紺洪〉闈㈢殑鐩綍
鈹?/span> 鈹斺攢layouts
榪欓噷鐢熸垚濂界殑欏圭洰鏄彲浠ョ敤eclipse鐩存帴瀵煎叆浣跨敤鐨勩?/span>
2銆?span style="font: 7pt 'Times New Roman'"> 宸ョ▼寤哄ソ浜嗭紝涓嬮潰灝卞彲浠ヤ嬌鐢ㄤ簡錛屾垜浠厛瑕佽緗竴涓嬫垜浠殑鏁版嵁搴撻厤緗紝榛樿鐨勯厤緗槸涓涓唴瀛樻暟鎹簱錛屽伐紼嬪仠浜嗭紝鏁版嵁灝辨病鏈変簡錛岃繖閲屾垜鐢ㄧ殑鏄?/span>mysql,錛屾墦寮conf鐩綍涓嬬殑DataSource.groovy鏂囦歡錛岃繖鏄竴涓?/span>Groovy鐨勪竴涓被鏂囦歡銆傝緗竴涓?/span>mysql鐨勯厤緗細闇瑕佹妸mysql鐨?/span>jdbc鍖呭鍏ュ埌宸ョ▼涓?/span>
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
username = "root"
password = "111111"
}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://192.168.130.66:3306/racetrace_dev"
}
}
test {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://192.168.130.66:3306/racetrace_test"
}
}
production {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://192.168.130.66:3306/racetrace_pro"
}
}
}
榪涘叆鍒?/span>CMD鍛戒護琛岋紝杈撳叆“grails create-domain-class”鍒涘緩domain綾?/span>
E:"grails_project"grails_test>grails create-domain-class
Environment set to development
name not specified. Please enter:
User
[copy] Copying 1 file to E:"grails_project"grails_test"grails-app"domain
Created Domain Class for User
[copy] Copying 1 file to E:"grails_project"grails_test"test"integration
Created Tests for User
鍒涘緩鎴愬姛鍚庡彲浠ュ湪domain鐩綍涓婄湅鍒頒竴涓?/span>User.groovy鐨勬枃浠?/span>
淇敼
class User {
String name
String sex
}
鎵懼埌conf鐩綍涓嬬殑BootStrap 鏂囦歡錛岃繖涓枃浠舵槸grails鍚姩鏃朵細鍒濆鍖栫殑綾伙紝鎴戜滑鍦ㄨ繖閲岃緭鍏ヤ竴浜涘垵濮嬪寲鐨勬暟鎹?/span>
class BootStrap {
def init = { servletContext ->
// Create some test data
new User(name:"Stephen King",sex:"鐢?).save()
new User(name:"James Patterson",sex:"濂?).save()
}
def destroy = {
}
}
鍦╯ervics鐩綍涓婂緩绔媍lass UserController {
def scaffold = User
}
榪欓噷鐨勫啓娉曪紝鍦ㄦ湇鍔″惎鍔ㄥ悗浼氬垵濮嬪寲涓緋誨垪鐨勪嬌鐢ㄦ枃浠躲傝繖浜涙枃浠朵篃鍙互閫氳繃鍛戒護琛屽幓鍒涘緩錛岃繖鏄仛渚嬪瓙鍙互鍏堣繖鏍鳳紝濡傛灉闇瑕佷慨鏀逛腑闂寸殑涓浜涙枃浠墮厤緗啀鐢熸垚鍚庡仛淇敼
鏈鍚庤繘鍏ュ埌宸ョ▼鐨勬牴鐩綍鍦ㄥ懡浠よ鎵ц“grails run-app”榪愯欏圭洰錛孏rails鐢ㄤ簡鍐呭祵寮忕殑jetty鏈嶅姟鍣ㄣ?/span>
鍒版鍩烘湰涓婂氨璁よ瘑浜咷rails銆?/span>