国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - spring Roo安裝使用簡介

spring Roo安裝使用簡介

2021-03-13 11:25過了即是客 Java教程

這篇文章主要介紹了spring Roo安裝使用簡介,具有一定借鑒價(jià)值,需要的朋友可以參考下

一直以來,java/spring開發(fā)被認(rèn)為是笨重的代表,無法快速生成項(xiàng)目原型和骨架。所以,spring推出了spring roo這個(gè)項(xiàng)目,幫助我們快速生成項(xiàng)目原型。本文參考自spring roo的官方文檔,如果熟悉英文的話可以直接看原文檔,內(nèi)容更加豐富。

安裝

安裝命令行工具

spring roo是一套命令行工具,如果你使用的是eclipse/sts,還可以使用eclipse對應(yīng)的插件。

首先先來下載命令行工具。到下載頁面,選擇對應(yīng)版本下載。這里我選擇的是最新的2.0.0.rc1 ,畢竟我有更新強(qiáng)迫癥。下載完成之后解壓,會(huì)得到一個(gè)文件夾,其中bin目錄下就是spring roo的可執(zhí)行文件了。可以看到它有bat和sh兩種格式,可以在不同系統(tǒng)上運(yùn)行。為了方便以后在終端窗口運(yùn)行,我建議同時(shí)將這個(gè)文件夾添加到環(huán)境變量中。

安裝好之后,打開命令提示符或者其他終端窗口,輸入roo命令,就可以啟動(dòng)roo了。值得提一點(diǎn),roo會(huì)在命令提示符對應(yīng)的文件夾位置創(chuàng)建項(xiàng)目,所以如果需要在特定位置創(chuàng)建項(xiàng)目,先在命令提示符中切換到該文件夾,然后再啟動(dòng)roo。

spring Roo安裝使用簡介

安裝eclipse插件

打開你的eclipse/sts,然后遵循以下步驟:

點(diǎn)擊菜單欄 help ? install new software
點(diǎn)擊 available software sites
點(diǎn)擊 import 按鈕
找到 “$roo_home/conf/sts-sites-bookmarks.xml” 并確定,這里$roo_home是你安裝roo的目錄
根據(jù)需要選擇對應(yīng)的版本
在過濾欄輸入roo
選中功能 spring ide roo support
然后一路確定并允許條款
最后重啟ide即可

下面是官方文檔的圖,如果有疑問照著這張圖來就行了。

spring Roo安裝使用簡介

到這一步還沒完,插件是安裝好了,但是還沒有配置。其實(shí)要配置的也很簡單,告訴插件你的roo工具安裝到哪里就行了。點(diǎn)擊 window ? preferences ? spring ? roo support ,打開設(shè)置,然后照著官方文檔截圖設(shè)置好你的工具路徑即可。

spring Roo安裝使用簡介

這樣插件就設(shè)置完畢了。其實(shí)這個(gè)插件也沒啥作用,就是在eclipse中開了一個(gè)窗口,能運(yùn)行roo命令,和直接在命令提示符中運(yùn)行其實(shí)是一樣的。

使用roo

運(yùn)行roo腳本

$roo_home\samples文件夾下有三個(gè)示例項(xiàng)目腳本,使用roo運(yùn)行它們可以快速創(chuàng)建相應(yīng)的項(xiàng)目。如果沒有耐心,可以直接從這里開始。

spring Roo安裝使用簡介

比如說,我要運(yùn)行clinic實(shí)例項(xiàng)目,就可以輸入以下命令:

?
1
roo> script --file clinic.roo

稍等片刻,程序就會(huì)創(chuàng)建完畢。

spring Roo安裝使用簡介

最后創(chuàng)建出的是一個(gè)基于maven的spring boot程序。在idea下是這么一個(gè)樣子??梢钥吹巾?xiàng)目中有一個(gè)名字叫l(wèi)og.roo的日志文件,它記錄了這個(gè)roo腳本執(zhí)行的內(nèi)容。另外不知道為什么程序在idea下會(huì)有一點(diǎn)報(bào)錯(cuò),不過不影響編譯和運(yùn)行。

spring Roo安裝使用簡介

這個(gè)petclinic示例程序使用了spring security來保護(hù)頁面。我查閱了一下,spring boot下spring security默認(rèn)的用戶名是user,密碼則在程序啟動(dòng)的時(shí)候隨機(jī)輸出到控制臺(tái)中。最后運(yùn)行截圖如下,大家可以自己運(yùn)行和測試一下這個(gè)程序。

spring Roo安裝使用簡介

腳本解釋

下面來解釋一下petclinic這個(gè)程序的roo腳本,讓我們來看看roo是如何工作的。這里只做一下簡單解釋,如果需要詳細(xì)資料的話可以參考官方文檔的附錄,完整介紹了roo的各種命令和參數(shù)以及用法。

首先是創(chuàng)建項(xiàng)目并指定頂級(jí)包名,這樣會(huì)創(chuàng)建一個(gè)基于maven的spring boot項(xiàng)目。

?
1
project setup --toplevelpackage org.springframework.roo.petclinic

然后是指定jpa存儲(chǔ)類型,這里用的是hibernate,數(shù)據(jù)庫是存儲(chǔ)在內(nèi)存的hsqldb。當(dāng)然也可以使用其它數(shù)據(jù)庫,不過相應(yīng)地需要增加用戶名等其他參數(shù)。

?
1
jpa setup --provider hibernate --database hypersonic_in_memory

然后是幾個(gè)枚舉類,將會(huì)在實(shí)體類中用到,這里的~指代前面設(shè)置的頂級(jí)包名。

?
1
2
3
4
5
6
7
8
9
enum type --class ~.domain.reference.pettype
enum constant --name dog
enum constant --name cat
enum constant --name bird
 
enum type --class ~.domain.reference.specialty
enum constant --name cardiology
enum constant --name dentistry
enum constant --name nutrition

然后是項(xiàng)目中的幾個(gè)實(shí)體類。

?
1
2
3
4
5
entity jpa --class ~.domain.pet --sequencename pet_seq --entityformatexpression "#{name} (#{type})"
entity jpa --class ~.domain.visit --sequencename visit_seq --entityformatmessage visit_format
entity jpa --class ~.domain.abstractperson --abstract
entity jpa --class ~.domain.vet --extends ~.domain.abstractperson --entityformatexpression "#{lastname} (#{specialty})"
entity jpa --class ~.domain.owner --extends ~.domain.abstractperson --entityformatexpression "#{lastname} (#{city})"

之后的叫本詳細(xì)設(shè)置了每個(gè)實(shí)體類的屬性以及對應(yīng)關(guān)系,由于比較多所以我只挑選了幾個(gè)典型的。在設(shè)置實(shí)體類之前,需要使用focus命令指定要設(shè)置的實(shí)體類。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
focus --class ~.domain.pet
field boolean --fieldname sendreminders --notnull --primitive
field string --fieldname name --notnull --sizemin 1
field number --fieldname weight --type java.lang.float --notnull --min 0
field enum --fieldname type --type ~.domain.reference.pettype --notnull
field set --fieldname visits --type ~.domain.visit
 
focus --class ~.domain.abstractperson
field string --fieldname firstname --sizemin 3 --sizemax 30
field string --fieldname lastname --notnull --sizemin 3 --sizemax 30
field string --fieldname address --notnull --sizemax 50 --sizemin 1
field string --fieldname city --notnull --sizemax 30
field string --fieldname telephone --notnull
field string --fieldname homepage --sizemax 30
field string --fieldname email --sizemax 30 --sizemin 6
field date --fieldname birthday --type java.util.date --notnull

然后設(shè)置實(shí)體類之間的投影關(guān)系并設(shè)置jpa repository。

?
1
2
3
4
5
entity projection --class ~.domain.vetinfo --entity ~.domain.vet --fields id,firstname,lastname,specialty --entityformatexpression "#{firstname} #{lastname}"
repository jpa --entity ~.domain.vet --interface ~.repository.vetrepository --defaultreturntype ~.domain.vetinfo
 
repository jpa --all --package ~.repository
service --all --apipackage ~.service.api --implpackage ~.service.impl

然后是設(shè)置dto(數(shù)據(jù)傳輸對象),它和頁面中的表單等信息對應(yīng),然后在后臺(tái)轉(zhuǎn)換為相應(yīng)的實(shí)體類。在這里還可以指定finder,也就是查詢條件,查詢條件的規(guī)則請參考spring data jpa的相關(guān)內(nèi)容。

?
1
2
3
4
dto --class ~.domain.petnameandweightformbean
field string --fieldname name
field number --fieldname weight --type java.lang.float
finder add --entity ~.domain.pet --name findbynameandweight --formbean ~.domain.petnameandweightformbean

然后是設(shè)置spring web mvc,這里指定thymeleaf作為視圖層,并為所有控制器生成json和thymeleaf視圖。

?
1
2
3
4
web mvc setup
web mvc view setup --type thymeleaf
web mvc controller --all --responsetype json
web mvc controller --all --responsetype thymeleaf

然后是生成查詢和詳情頁面。這里針對前面設(shè)置的所有查詢條件生成相應(yīng)的查詢頁面,然后生成指定實(shí)體類的詳情頁面。最后指定了頁面語言,目前好像只支持英語和西班牙語。

?
1
2
3
4
5
6
7
8
// publishing finders
web mvc finder --all --responsetype thymeleaf
 
// adding details
web mvc detail --entity ~.domain.owner --field pets --views list,show,findbycitylike --responsetype thymeleaf
web mvc detail --all --views list,show --responsetype thymeleaf
 
web mvc language --code es

然后使用了spring security保護(hù)了一下程序。第一行的是使用spring security的默認(rèn)配置,用戶名是user,密碼是打印在控制臺(tái)的隨機(jī)字符串。第二行配置了一下用戶權(quán)限,只有管理員角色的用戶才能執(zhí)行刪除操作。

?
1
2
3
security setup --provider default
 
security authorize --class ~.service.impl.ownerserviceimpl --method delete.* --roles admin

然后啟用了審計(jì)功能,程序會(huì)自動(dòng)記錄相應(yīng)實(shí)體類的編輯時(shí)間和編輯者。

?
1
2
3
4
5
jpa audit setup
jpa audit add --entity ~.domain.pet
jpa audit add --entity ~.domain.owner
jpa audit add --entity ~.domain.visit
jpa audit add --entity ~.domain.vet

然后啟用了web服務(wù)端點(diǎn)功能,這些端點(diǎn)可以在/servicesurl下查看。

?
1
2
ws endpoint --service ~.service.api.ownerservice --sei ~.ws.api.ownerwebservice --class ~.ws.endpoint.ownerwebserviceendpoint --config ~.config.wsendpointsconfiguration
ws endpoint --service ~.service.api.petservice --sei ~.ws.api.petwebservice --class ~.ws.endpoint.petwebserviceendpoint --config ~.config.wsendpointsconfiguration

最后自動(dòng)為這些實(shí)體類和服務(wù)生成單元測試和集成測試。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// generating unitary tests for all entities
test unit --class ~.domain.owner
test unit --class ~.domain.pet
test unit --class ~.domain.vet
test unit --class ~.domain.visit
 
// repository integration tests
test integration --class ~.repository.vetrepository
test integration --class ~.repository.ownerrepository
test integration --class ~.repository.visitrepository
test integration --class ~.repository.petrepository
 
// controller integration tests
test integration --class ~.web.ownerscollectionjsoncontroller
test integration --class ~.web.petsitemjsoncontroller
test integration --class ~.web.vetscollectionthymeleafcontroller
test integration --class ~.web.visitsitemthymeleafcontroller

總結(jié)

以上就是本文關(guān)于spring roo安裝使用簡介的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/u011054333/article/details/75949728

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩h视频 | 日韩在线 | 国产97在线播放 | 精品福利网站 | 黄色免费成人 | 91黄在线观看 | 男女小网站 | 成人免费看黄 | 群p在线观看 | www.avtt天堂网 | 免费一级毛片在线播放放视频 | 亚洲国产一区二区三区四区 | 国产精品极品美女在线观看免费 | 一区视频在线 | 福利片网址 | 久久精彩免费视频 | 亚洲国产人午在线一二区 | www午夜 | 精品久久久久久久人人人人传媒 | 久久中国 | 天天天干夜夜夜操 | 在线观看91 | 欧美日韩一级视频 | 国产精品永久久久久久久久久 | 免费a级毛片在线看 | 欧美一区二区三区视频 | 夜夜操操操操 | 黄网视频| 91麻豆精品国产91久久久资源速度 | 欧美影| 91亚洲精品一区 | 亚洲欧美视屏 | 欧美日韩免费 | 成年人黄色影院 | 久久中文字幕一区 | 欧美精品一区二区三区中文字幕 | 亚洲国产一区二区在线观看 | 啊v视频 | 亚洲欧美中文日韩在线v日本 | 北条麻妃一区二区三区中文字幕 | 日韩专区中文字幕 |