springboot 自己是爲了作服務化用的,咱們爲何要反其道使用它來開發一份單體web應用呢? 在咱們現實的開發工做中,還有大量的業務系統使用的是單體應用,特別是對於中小型團隊來講,在項目開發之初選擇服務化開發是得不償失的,由於對於此類團隊,勢必全部的工做都是須要咱們開發人員來作的,例如:html
小團隊或小公司若是開發人員把大規模的精力放在除業務以外的工做中,那麼咱們的開發效率勢必會特別低下,等咱們系統開發一個版本出來,也許此類需求已經不是那麼符合當前的發展了,此類團隊追求的是短平快而且方便部署更新。有人就會問,那咱們又爲何不選擇SpringMVC
呢? 固然若是團隊中自己已經有成型的一套SpringMVC的框架能夠拿來即用,固然也是徹底ok的,可是全部使用過Springboot的同窗都知道。前端
> 1. Springboot幫咱們把之前在SpringMVC中須要使用XML來配置的configuration內置化了,開發人員徹底能夠把大量精力放在業務鑽研優化上面而不須要關注它是如何配置的。 > 2. 做爲技術選型來講,必定要想到咱們的業務也許會高速擴張,在後期咱們得能快速更新技術體系或者升級系統,那麼springboot的本能服務化就能夠體現出來了。 > 3. 不少的新同窗在學習springboot的時候,太多的資料自己是一種demo的學習,是須要你們進一步研究以後學以至用,不太貼近生產,我但願經過這次開發,能夠直接開發一套能夠生產使用的demo系統。vue
在開發任何一個新
系統的時候,咱們要實現的是一套電商平臺,那麼咱們首先要考慮一個基本的電商平臺都包含哪些業務功能? 上圖展現了要實現一個電商最簡單的模塊信息。java
在技術選型的時候,我的建議遵循幾點原則:jquery
咱們主題很明確的代表了要使用springboot
來實現一個web
項目,那麼抓住這兩個關鍵的點。 既然使用Springboot, 咱們這裏使用最新的版本2.2.0.RELEASE
, 既然是web項目,那麼必然要使用到web相關的技術,tomcat
(springboot內置),而且咱們採起先後端分離的技術來開發,後端提供restful 的api, 前端使用jquery
& vuejs
, 既然是一個真實項目,數據庫固然也是咱們必不可少的,咱們使用MYSQL 8.0+
,那麼咱們java要和db進行交互,咱們使用mybatis
做爲bridge. 基本的技術已經足夠咱們使用了,那麼具體依賴的package 後續會給你們一一介紹.web
工預善其事必先利其器
, 如下是我的工具選擇,僅供參考:spring
說的再多,都不如來點實在的,那麼咱們接下來開始咱們的表演吧.sql
首先咱們須要建立一個Maven的parent module, 用來將咱們全部的模塊信息都放在一塊兒,如service
,controller
等等.數據庫
expensive-shop
打開IDEA,選擇File => New => Project apache
點擊Next,分別輸入GroupId
& artifactId
點擊Next,修改project name
(不改也沒有關係)
點擊Finish
此時,會生成src
和 pom.xml
, 由於該項目爲父類項目,不會有code實現,所以,刪除src
目錄,並修改pom.xml
文件.
<!--?xml version="1.0" encoding="UTF-8"?--> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>2.2.0.RELEASE</version> <relativepath /> </parent> <groupid>com.life-runner</groupid> <artifactid>expensive-shop</artifactid> <version>1.0-SNAPSHOT</version> <name>expensive-shop</name> <description>develop a on-line shop</description> <packaging>pom</packaging> <properties> <project.build.sourceencoding>UTF-8</project.build.sourceencoding> <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <!--spring默認使用yml中的配置,有時候要用傳統的xml或properties配置,就須要使用spring-boot-configuration-processor--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-configuration-processor</artifactid> <optional>true</optional> </dependency> <!--監控端點依賴--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-actuator</artifactid> </dependency> <dependency> <groupid>org.projectlombok</groupid> <artifactid>lombok</artifactid> <version>1.18.8</version> </dependency> </dependencies> </project>
主要關注2點: 1.修改packaging
爲pom, 代表是一個父類集合 2.引入parent
節點爲咱們的springboot
,這裏是設置整個project的springboot 相關依賴以及版本管控 從上述中,在該節點設置version 爲 2.2.0.RELEASE
以後, 下面全部的group
爲org.springframework.boot
的依賴項都沒有顯示的設置版本信息.
和建立父類項目同樣的建立過程,依次建立咱們須要用到的child modules, 完成後以下圖:
通過上述環節,相信你們已經能夠建立出咱們項目所須要的架構環境了,下一次咱們將開始實際業務的編碼實現. gogogo.
奔跑的人生 | 博客園 | segmentfault | spring4all | csdn | 掘金 | OSChina | 簡書 | 頭條 | 知乎 | 51CTO