1. 介紹
1.1 什么是Spring
我們說(shuō)到Spring,一般指代的是Spring Framework,它是一個(gè)開源的應(yīng)用程序框架,提供了一個(gè)簡(jiǎn)易的開發(fā)方式,通過(guò)這種開發(fā)方式,將避免那些可能致使代碼變得繁雜混亂的大量的業(yè)務(wù)/工具對(duì)象,說(shuō)的更通俗一點(diǎn)就是由框架來(lái)幫你管理這些對(duì)象,包括它的創(chuàng)建,銷毀等。
1.2 什么是Spring MVC
Spring MVC是Spring的一部分,Spring 出來(lái)以后,大家覺得很好用,于是按照這種模式設(shè)計(jì)了一個(gè) MVC框架(一些用Spring 解耦的組件),主要用于開發(fā)WEB應(yīng)用和網(wǎng)絡(luò)接口,它是Spring的一個(gè)模塊,通過(guò)Dispatcher Servlet, ModelAndView 和 View Resolver,讓應(yīng)用開發(fā)變得很容易。
1.3?什么是Spring Boot
初期的Spring通過(guò)代碼加配置的形式為項(xiàng)目提供了良好的靈活性和擴(kuò)展性,但隨著Spring越來(lái)越龐大,其配置文件也越來(lái)越繁瑣,太多復(fù)雜的xml文件也一直是Spring被人詬病的地方,特別是近些年其他簡(jiǎn)潔的WEB方案層出不窮,如基于Python或Node.Js,幾行代碼就能實(shí)現(xiàn)一個(gè)WEB服務(wù)器,對(duì)比起來(lái),大家漸漸覺得Spring那一套太過(guò)繁瑣,此時(shí),Spring社區(qū)推出了Spring Boot,它的目的在于實(shí)現(xiàn)自動(dòng)配置,降低項(xiàng)目搭建的復(fù)雜度,如需要搭建一個(gè)接口服務(wù),通過(guò)Spring Boot,幾行代碼即可實(shí)現(xiàn)。
2. 安裝
2.1 安裝JDK
下載JDK12
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
2.2 安裝Eclipse
下載Eclipse
https://www.eclipse.org/downloads/
2.3 配置JDK
我們需要為 JDK 設(shè)置環(huán)境變量 JAVA_HOME,以為引用 JDK 的程序可以找到
設(shè)置 Windows 環(huán)境變量 JAVA_HOME 指向 JDK 安裝目錄
設(shè)置環(huán)境變量需要重啟電腦
3. 使用
3.1 Eclipse工程模板
Maven
Enterprise Application
Dynamic Web
EJB
Connector
Application Client
Static Web
JPA
3.2 安裝Spring Boot
打開Eclipse,點(diǎn)擊 Help -> Eclipse Maketplace
在彈出的窗口的 Find 里輸入 Spring,在查詢結(jié)果里面找到 Spring Tool 4 - for Spring Boot,安裝它
在下一步的窗口下面點(diǎn)擊 Confirm
在下一步的窗口下面勾選“I accept ...”,然后點(diǎn)擊 Finish
接下來(lái)窗口關(guān)閉,可以看到 Eclipse 右下角有安裝狀態(tài)提示,等待安裝完成后會(huì)彈出對(duì)話框詢問是否重新啟動(dòng) Eclipse,點(diǎn)擊 Restart Now
3.3 建立Spring Boot項(xiàng)目
重啟完成后,點(diǎn)擊 File -> New -> Project
在彈出的窗口里面可以找到 Spring Boot 文件夾,選擇 Spring Starter Project,點(diǎn)擊 Next
在 Name 一欄輸入項(xiàng)目名稱 test
下一步直接點(diǎn)擊 Next
在下一步的窗口左邊的 Avaliable 里輸入 Web,展開子項(xiàng),勾選 Spring Web Starter,點(diǎn)擊 Next
下一步直接點(diǎn)擊 Finish
接下來(lái)窗口關(guān)閉,還是關(guān)注 Eclipse 右下角的狀態(tài)提示,等待初始化完畢(第一次初始化的過(guò)程非常漫長(zhǎng),請(qǐng)耐心等待)
3.4 測(cè)試Spring Boot項(xiàng)目
展開 Project Explorer 項(xiàng)目結(jié)構(gòu),選擇 src -> main -> java -> com -> example -> test 節(jié)點(diǎn)
在 test 節(jié)點(diǎn)下面建立目錄 model(模型),controller(控制器)
在 model 目錄建立程序 Test.java,內(nèi)容如下
package?com.example.demo.model;
public?class?Test?{
????private?final?long?id;
????private?final?String?content;
????public?Test(long?id,?String?content)?{
????????this.id?=?id;
????????this.content?=?content;
????}
????public?long?getId()?{
????????return?id;
????}
????public?String?getContent()?{
????????return?content;
????}
}
在 controller 目錄建立程序 TestController.java,內(nèi)容如下
package?com.example.demo.controller;
import?java.util.concurrent.atomic.AtomicLong;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.bind.annotation.RestController;
import?com.example.demo.model.Test;
@RestController
public?class?TestController?{
????private?static?final?String?template?=?"Hello,?%s!";
????private?final?AtomicLong?counter?=?new?AtomicLong();
????@RequestMapping("/counter")
????public?Test?dealTest(@RequestParam(value="name",?defaultValue="World")?String?name)?{
????????return?new?Test(counter.incrementAndGet(),
????????????????????????????String.format(template,?name));
????}
}
右鍵項(xiàng)目 test,選擇 Run As -> 9 Spring Boot App
打開瀏覽器,輸入網(wǎng)址 http://localhost:8080/counter,應(yīng)該可以看到 Hello World 結(jié)果內(nèi)容!
3.5 Spring Boot轉(zhuǎn)Web
打開項(xiàng)目 pom.xml 文件,在 project 下面添加項(xiàng)目,設(shè)置打包方式
<packaging>war</packaging>
在 project -> dependencies 下面添加項(xiàng)目,設(shè)置使用外部 tomcat 服務(wù)器
<dependency>
????<groupId>org.springframework.boot</groupId>
????<artifactId>spring-boot-starter-tomcat</artifactId>
????<scope>provided</scope>
</dependency>
啟動(dòng)程序 Application.java 增加兩行引用
import?org.springframework.boot.builder.SpringApplicationBuilder;
import?org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
啟動(dòng)程序 Application.java 更改類繼承父類?SpringBootServletInitializer
public?class?Application?extends?SpringBootServletInitializer?{
啟動(dòng)程序 Application.java 添加重載方法?configure
????@Override
????protected?SpringApplicationBuilder?configure(SpringApplicationBuilder?builder)?{
????????return?builder.sources(Application.class);
????}
4. Mavan
4.1 Apache Maven
4.1.1 下載
從官網(wǎng)下載 maven 包,地址http://maven.apache.org/download.cgi
選擇 Binary 包下載,地址https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
解壓縮得到 apache-maven-3.6.1 目錄
4.1.2 導(dǎo)入
打開 Window -> Preferences -> Maven -> Installations
點(diǎn)擊 Add,在彈出的窗口的 Installation home 選擇 apache-maven-3.6.1 目錄
點(diǎn)擊 Finish 關(guān)閉窗口
點(diǎn)擊新添加的項(xiàng)目 apache-maven-3.6.1
點(diǎn)擊 Apply and close 關(guān)閉窗口
打開?Window -> Preferences -> Maven -> User Settings
修改 Global Settings 和 User Settings 改為 apache-maven-3.6.1/conf/settings.xml
點(diǎn)擊 Apply and close 關(guān)閉窗口
4.2 Mirror
4.2.1 設(shè)置鏡像
如果發(fā)現(xiàn) repo.maven.apache.org 慢的話可以設(shè)置一些鏡像地址來(lái)提高速度
打開 apache-maven-3.6.1/conf/settings.xml
搜索 mirrors 節(jié)點(diǎn),在里面添加自己的鏡像地址
<mirror>
????<id>alimaven</id>
????<mirrorOf>central</mirrorOf>
????<name>aliyun?maven</name>
????<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
然后重新 build 就會(huì)使用這個(gè)鏡像地址了
4.3 打包war
4.3.1 打包war
我們需要將項(xiàng)目打包成war,用來(lái)部署到tomcat上
設(shè)置 Windows 環(huán)境變量 Path 增加指向 maven 的路徑?apache-maven-3.6.1/bin
重啟電腦后,可以在 cmd 里輸入命令 mvn -v 查看是否配置成功
Apache?Maven?3.6.1?(d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555;?2019-04-05T03:00:2
9+08:00)
Maven?home:?C:\Users\tongfu\eclipse\jee-2019-06\eclipse\apache-maven-3.6.1\bin\.
.
Java?version:?12.0.2,?vendor:?Oracle?Corporation,?runtime:?C:\Program?Files\Java
\jdk-12.0.2
Default?locale:?zh_CN,?platform?encoding:?GBK
OS?name:?"windows?7",?version:?"6.1",?arch:?"amd64",?family:?"windows"
通過(guò) cd 命令進(jìn)入到自己的項(xiàng)目根目錄,執(zhí)行 mvn clean package,看到如下信息則表示成功了
[INFO]?Replacing?main?artifact?with?repackaged?archive
[INFO]?------------------------------------------------------------------------
[INFO]?BUILD?SUCCESS
[INFO]?------------------------------------------------------------------------
[INFO]?Total?time:??01:00?min
[INFO]?Finished?at:?2019-08-28T17:54:54+08:00
[INFO]?------------------------------------------------------------------------
然后就可以在項(xiàng)目的 target 目錄下面找到打包完成的 war 文件了
【20200902】搭建Java運(yùn)行環(huán)境Eclipse版 第 1 頁(yè) - 鬼谷子叔叔的主頁(yè) - 同福網(wǎng) - TONGFU.net