摘要:它是什么是一個(gè)基于的命令行工具。只要輸入這樣一個(gè)命令,然后跟隨命令行工具的指導(dǎo),完成創(chuàng)建就了。通常情況下是與數(shù)據(jù)庫(kù)的字段一一對(duì)應(yīng)的。下的則是整個(gè)項(xiàng)目的配置文件。那么你需要把中的注釋的兩行取消注釋即可。
源代碼地址: Github倉(cāng)庫(kù)地址
個(gè)人網(wǎng)站:個(gè)人網(wǎng)站地址
前言不知道你是否有過這樣的經(jīng)歷。不管你是什么崗位,前端也好,后端也罷,想去了解一下Java開發(fā)到底是什么樣的,它是不是真的跟傳說中的一樣。
于是你拿起鍵盤,用觸控板 ? "" : 抄起鼠標(biāo)",開始了Java淌坑之旅。在一把梭的操作之后,面對(duì)你搭建的環(huán)境,你陷入了深深的沉思,開始了吾日三省吾身的自我質(zhì)疑中。這tm到底哪兒錯(cuò)了?到底哪兒在報(bào)錯(cuò)?這報(bào)錯(cuò)啥意思?
經(jīng)歷了吾日三省吾身的深思之后,你把鼠標(biāo)移動(dòng)到了MacOS ? 左上角" : "右上角",然后雙手離開了鍵盤放棄了操作。嗯,剛剛什么都沒有發(fā)生。
如果你有類似的經(jīng)歷(如果沒有請(qǐng)給Java一個(gè)面子假裝你有過),那么就來認(rèn)識(shí)一下venus-init吧。
venus-init 它是什么venus-init是一個(gè)基于Node.js的命令行工具。使用venus-init,只需要一個(gè)命令,然后輸入兩個(gè)參數(shù),就可以創(chuàng)建一個(gè)簡(jiǎn)單的Spring Boot應(yīng)用。并且初始化的demo項(xiàng)目中還會(huì)有一個(gè)名叫Hello的模塊來幫助你更好的理解這個(gè)項(xiàng)目。
在我還沒有更新文檔的情況下,npm上周下載量就突破了1000,不管是因?yàn)槭裁丛?,下錯(cuò)了也好,覺得好用也好。感謝大佬們的支持。
如何使用怎么做呢?"He can do that with a snap of his fing..." 走錯(cuò)了片場(chǎng)不好意思。首先你需要使用npm install venus-init來安裝它。然后只需要在命令行輸入如下的命令。
venus init # you can also do it like this venus i
只要輸入這樣一個(gè)命令,然后跟隨命令行工具的指導(dǎo),完成創(chuàng)建就ok了。
創(chuàng)建項(xiàng)目之后完成上述步驟之后,就會(huì)發(fā)現(xiàn)在鍵入命令行的目錄下,多個(gè)一個(gè)具有這樣結(jié)構(gòu)的目錄。(這是我自己創(chuàng)建的demo項(xiàng)目,group和artifact都可以自己指定)
. ├── LICENSE ├── README.md ├── api │?? ├── pom.xml │?? └── src │?? └── main │?? ├── java │?? │?? └── com │?? │?? └── detectivehlh │?? │?? └── demo │?? │?? └── api │?? │?? ├── Application.java │?? │?? ├── config │?? │?? │?? ├── DbConfig.java │?? │?? │?? └── SwaggerConfig.java │?? │?? ├── controller │?? │?? │?? └── HelloController.java │?? │?? ├── dao │?? │?? │?? └── HelloMapper.java │?? │?? ├── dto │?? │?? │?? └── HelloDTO.java │?? │?? ├── entity │?? │?? │?? └── Hello.java │?? │?? └── service │?? │?? ├── HelloService.java │?? │?? └── impl │?? │?? └── HelloServiceImpl.java │?? └── resources │?? ├── application.yml │?? └── mapper │?? └── HelloMapper.xml └── pom.xml
其中我內(nèi)置了一個(gè)Hello的模塊供大家參考,通過這個(gè)模塊相信大家可以更加快的熟悉整個(gè)項(xiàng)目。整個(gè)項(xiàng)目的結(jié)構(gòu)非常的清晰明了。
總共有6個(gè)包,config用于存放各種配置,像swagger的配置就放在這個(gè)包下面。
controller包是各種模塊的控制層,里面包含了項(xiàng)目所有的api。
dao中存放了各個(gè)模塊和數(shù)據(jù)庫(kù)交互的mapper,值得注意的是,dao下只定義了接口,具體的sql則是放在了resources/mapper下。
dto中則是存放了與前端交互的數(shù)據(jù)結(jié)構(gòu)。簡(jiǎn)單理解一下,數(shù)據(jù)庫(kù)存放的數(shù)據(jù)并不是前端需要的數(shù)據(jù),所以在查到數(shù)據(jù)之后需要對(duì)數(shù)據(jù)進(jìn)行一次轉(zhuǎn)換,再把轉(zhuǎn)換好的數(shù)據(jù)返回給前端。
entity則是存放了與數(shù)據(jù)庫(kù)交互的數(shù)據(jù)結(jié)構(gòu)。通常情況下是與數(shù)據(jù)庫(kù)的字段一一對(duì)應(yīng)的。
service包是各個(gè)模塊的核心代碼所處的為主。大量的業(yè)務(wù)都會(huì)在這個(gè)包下。
Application則是項(xiàng)目的啟動(dòng)文件。
resources下的application.yml則是整個(gè)項(xiàng)目的配置文件。可以在這里配置項(xiàng)目的名稱,數(shù)據(jù)庫(kù)的配置,以及mybatis的配置,redis的配置等等。
啟動(dòng)項(xiàng)目建議使用IDEA來打開這個(gè)項(xiàng)目,然后右鍵移動(dòng)到Application上,選擇Run Application即可看到應(yīng)用運(yùn)行在8080端口。
接下來,你只需要訪問http://localhost:8080/hello,如果看到頁(yè)面返回了如下信息,那么恭喜你,項(xiàng)目已經(jīng)成功的啟動(dòng)了。
{ "message": "Hello world", "createdAt": "current_timestamp" }查看項(xiàng)目的接口文檔
使用venus-init初始化創(chuàng)建的項(xiàng)目會(huì)默認(rèn)啟用swagger文檔,這是一個(gè)不需要你手寫的api文檔。swagger基于注解。只要你在對(duì)于的controller中寫上了對(duì)應(yīng)的注解,swagger就會(huì)自動(dòng)的幫你生成API文檔。
在項(xiàng)目成功的啟動(dòng)之后,你只需訪問[http://localhost:8080/swagger-ui.html就可以看到自己的項(xiàng)目中有哪些接口,每個(gè)接口需要什么參數(shù)了以及接口的返回值是什么了。
如何連接數(shù)據(jù)庫(kù)初始化的項(xiàng)目同樣也支持mysql的jdbc連接,同時(shí)在Hello模塊中也實(shí)現(xiàn)的例子。
數(shù)據(jù)庫(kù)信息假設(shè)你有一個(gè)MySQL數(shù)據(jù)庫(kù),名字叫demo,地址是localhost,端口是3306,用戶名和密碼都是root,那么你需要在application.yml中找到數(shù)據(jù)庫(kù)配置,將db_name換成你自己的數(shù)據(jù)庫(kù)名也就是demo。然后重新啟動(dòng)項(xiàng)目,就可以直接連上你的數(shù)據(jù)庫(kù)了。
如果你需要修改mysql的表名,則需要到HelloMapper.xml中,找到如下段落。
test
test是我們項(xiàng)目初始化時(shí)使用的表名,你可以將其換成自己的數(shù)據(jù)庫(kù)表名,同理,如果你要換數(shù)據(jù)庫(kù)的名字,只需要將上述的db_name換成自己的數(shù)據(jù)庫(kù)名即可。
數(shù)據(jù)庫(kù)表信息假設(shè)在demo中有一張表叫test,結(jié)構(gòu)如下。
column_name | column_value |
---|---|
id | 用戶id |
name | 用戶名 |
并且有了數(shù)據(jù)
column_name | column_value |
---|---|
id | name |
1 | detectiveHLH |
這個(gè)結(jié)構(gòu)也是初始化模塊Hello的表結(jié)構(gòu),所以你只要按照這個(gè)結(jié)構(gòu)準(zhǔn)備一張同樣結(jié)構(gòu)的表即可。
修改HelloServiceImpl如果你已經(jīng)成功的連接上了數(shù)據(jù)庫(kù),并且有了相應(yīng)的表結(jié)構(gòu)和數(shù)據(jù)。那么你需要把HelloServiceImpl中的注釋的兩行取消注釋即可。然后重啟項(xiàng)目,再次訪問http://localhost:8080/hello即可看到控制臺(tái)打印出了從數(shù)據(jù)查詢到的信息。
到此,你就已經(jīng)成功的打通了數(shù)據(jù)了。
最后如果你在使用中遇到了任何的問題,歡迎提Issue。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109468.html
摘要:它是什么是一個(gè)基于的命令行工具。只要輸入這樣一個(gè)命令,然后跟隨命令行工具的指導(dǎo),完成創(chuàng)建就了。通常情況下是與數(shù)據(jù)庫(kù)的字段一一對(duì)應(yīng)的。下的則是整個(gè)項(xiàng)目的配置文件。那么你需要把中的注釋的兩行取消注釋即可。 源代碼地址: Github倉(cāng)庫(kù)地址 個(gè)人網(wǎng)站:個(gè)人網(wǎng)站地址 前言 不知道你是否有過這樣的經(jīng)歷。不管你是什么崗位,前端也好,后端也罷,想去了解一下Java開發(fā)到底是什么樣的,它是不是真的跟...
摘要:完成應(yīng)用測(cè)試我們已經(jīng)完成了我們想要?jiǎng)?chuàng)建的博客引擎。當(dāng)然我們已經(jīng)完成了測(cè)試所有模型層的功能。評(píng)估代碼覆蓋率當(dāng)然我們還沒有完成應(yīng)用所需的所有測(cè)試用例。如你所見,我們遠(yuǎn)遠(yuǎn)沒有完成對(duì)應(yīng)用的全面測(cè)試。 完成應(yīng)用測(cè)試 我們已經(jīng)完成了我們想要?jiǎng)?chuàng)建的博客引擎。不過這個(gè)項(xiàng)目尚未完全結(jié)束。為了保證代碼的質(zhì)量,我們需要添加更多的測(cè)試。 當(dāng)然我們已經(jīng)完成了測(cè)試所有模型層的功能。所以博客引擎的核心功能已經(jīng)被...
摘要:最后,我們?cè)诳刂婆_(tái)中打印這個(gè)新數(shù)組。也可以借助簡(jiǎn)單的將其跑在瀏覽器上,之后可在控制臺(tái)中看到同樣的運(yùn)行結(jié)果。使用配置文件雖然會(huì)更占位置,但與此同時(shí)增加了可讀性,因?yàn)樗怯蓪懗傻?。例如,?guī)定后綴的文件要先通過檢查,再通過把語法轉(zhuǎn)換為語法。 譯者:小 boy (滬江前端開發(fā)工程師) 本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者及出處。 原文地址:https://www.smashingmag...
摘要:阿里云智能編碼插件功能介紹代碼智能補(bǔ)全基于世界領(lǐng)先的深度學(xué)習(xí)模型,為你提供智能準(zhǔn)確的行級(jí)代碼補(bǔ)全,讓編碼如行云流水般自然和高效。 阿里云智能編碼插件(Alibaba...
摘要:是什么是一種計(jì)算機(jī)編程語言,年詹姆斯高斯林等大神發(fā)明的一種編程語言,至今發(fā)展多年,應(yīng)用非常廣泛,使用者超級(jí)多。能干什么既然是一種計(jì)算機(jī)編程語言,自然它就是用來開發(fā)程序的。比較官方的簡(jiǎn)單定義程序是數(shù)據(jù)結(jié)構(gòu)加算法。 showImg(https://segmentfault.com/img/remote/1460000012599260?w=900&h=500); 序: 從此開始,計(jì)劃出一個(gè)...
閱讀 2522·2021-11-18 10:02
閱讀 1997·2021-11-09 09:45
閱讀 2439·2021-09-26 09:47
閱讀 1035·2021-07-23 10:26
閱讀 1077·2019-08-30 15:47
閱讀 3368·2019-08-30 15:44
閱讀 986·2019-08-30 15:43
閱讀 892·2019-08-29 13:50