來認識一下venus-init——一個讓你僅需一個命令開始Java開發的命令行工具

源代碼地址: Github倉庫地址html

我的網站:我的網站地址前端

前言

不知道你是否有過這樣的經歷。無論你是什麼崗位,前端也好,後端也罷,想去了解一下Java開發究竟是什麼樣的,它是否是真的跟傳說中的同樣。java

因而你拿起鍵盤,用觸控板 ? '' : 抄起鼠標',開始了Java淌坑之旅。在一把梭的操做以後,面對你搭建的環境,你陷入了深深的沉思,開始了吾日三省吾身的自我質疑中。這tm到底哪兒錯了?到底哪兒在報錯?這報錯啥意思?mysql

經歷了吾日三省吾身的深思以後,你把鼠標移動到了MacOS ? 左上角' : '右上角',而後雙手離開了鍵盤放棄了操做。嗯,剛剛什麼都沒有發生。git

若是你有相似的經歷(若是沒有請給Java一個面子僞裝你有過),那麼就來認識一下venus-init吧。github

venus-init

它是什麼

venus-init是一個基於Node.js的命令行工具。使用venus-init,只須要一個命令,而後輸入兩個參數,就能夠建立一個簡單的Spring Boot應用。而且初始化的demo項目中還會有一個名叫Hello的模塊來幫助你更好的理解這個項目。redis

在我尚未更新文檔的狀況下,npm上週下載量就突破了1000,不論是由於什麼緣由,下錯了也好,以爲好用也好。感謝大佬們的支持。sql

如何使用

怎麼作呢?"He can do that with a snap of his fing..." 走錯了片場很差意思。首先你須要使用npm install venus-init來安裝它。而後只須要在命令行輸入以下的命令。數據庫

venus init
# you can also do it like this
venus i
複製代碼

只要輸入這樣一個命令,而後跟隨命令行工具的指導,完成建立就ok了。npm

建立項目以後

完成上述步驟以後,就會發如今鍵入命令行的目錄下,多個一個具備這樣結構的目錄。(這是我本身建立的demo項目,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
複製代碼

其中我內置了一個Hello的模塊供你們參考,經過這個模塊相信你們能夠更加快的熟悉整個項目。整個項目的結構很是的清晰明瞭。

總共有6個包,config用於存放各類配置,像swagger的配置就放在這個包下面。

controller包是各類模塊的控制層,裏面包含了項目全部的api。

dao中存放了各個模塊和數據庫交互的mapper,值得注意的是,dao下只定義了接口,具體的sql則是放在了resources/mapper下。

dto中則是存放了與前端交互的數據結構。簡單理解一下,數據庫存放的數據並非前端須要的數據,因此在查到數據以後須要對數據進行一次轉換,再把轉換好的數據返回給前端。

entity則是存放了與數據庫交互的數據結構。一般狀況下是與數據庫的字段一一對應的。

service包是各個模塊的核心代碼所處的爲主。大量的業務都會在這個包下。

Application則是項目的啓動文件。

resources下的application.yml則是整個項目的配置文件。能夠在這裏配置項目的名稱,數據庫的配置,以及mybatis的配置,redis的配置等等。

啓動項目

建議使用IDEA來打開這個項目,而後右鍵移動到Application上,選擇Run Application便可看到應用運行在8080端口。

接下來,你只須要訪問http://localhost:8080/hello,若是看到頁面返回了以下信息,那麼恭喜你,項目已經成功的啓動了。

{
    "message": "Hello world",
    "createdAt": "current_timestamp"
}
複製代碼

查看項目的接口文檔

使用venus-init初始化建立的項目會默認啓用swagger文檔,這是一個不須要你手寫的api文檔。swagger基於註解。只要你在對於的controller中寫上了對應的註解,swagger就會自動的幫你生成API文檔。

在項目成功的啓動以後,你只需訪問[http://localhost:8080/swagger-ui.html就能夠看到本身的項目中有哪些接口,每一個接口須要什麼參數了以及接口的返回值是什麼了。

如何鏈接數據庫

初始化的項目一樣也支持mysql的jdbc鏈接,同時在Hello模塊中也實現的例子。

數據庫信息

假設你有一個MySQL數據庫,名字叫demo,地址是localhost,端口是3306,用戶名和密碼都是root,那麼你須要在application.yml中找到數據庫配置,將db_name換成你本身的數據庫名也就是demo。而後從新啓動項目,就能夠直接連上你的數據庫了。

若是你須要修改mysql的表名,則須要到HelloMapper.xml中,找到以下段落。

<sql id="tableName">
    test
</sql>
複製代碼

test是咱們項目初始化時使用的表名,你能夠將其換成本身的數據庫表名,同理,若是你要換數據庫的名字,只須要將上述的db_name換成本身的數據庫名便可。

數據庫表信息

假設在demo中有一張表叫test,結構以下。

column_name column_value
id 用戶id
name 用戶名

而且有了數據

column_name column_value
id name
1 detectiveHLH

這個結構也是初始化模塊Hello的表結構,因此你只要按照這個結構準備一張一樣結構的表便可。

修改HelloServiceImpl

若是你已經成功的鏈接上了數據庫,而且有了相應的表結構和數據。那麼你須要把HelloServiceImpl中的註釋的兩行取消註釋便可。而後重啓項目,再次訪問http://localhost:8080/hello便可看到控制檯打印出了從數據查詢到的信息。

到此,你就已經成功的打通了數據了。

最後

若是你在使用中遇到了任何的問題,歡迎提Issue

相關文章
相關標籤/搜索