從零開始的Spring Boot (一)
從零開始的Spring Boot (一)
What is Spring boot?
關於Spring Boot的說明直接看官網的比較準確,因此不多贅述,Spring Boot的出現我認為屬於是SpringMVC的配置簡化版,也就是約定大於配置(個人這麼認為)免去了SpringMVC開發時候的一大堆的配置,官方說法 “just run”!。不多說,直接開始。
HelloWorld!
環境:eclipse + maven + jdk1.8
建立一個Maven專案
這裡直接選擇Create a simple project,下一步,finish就行了。
- pom.xml匯入Spring Boot依賴
<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>
<groupId>com</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- Spring Boot 啟動父依賴 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<!-- Spring Boot web模組 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 為了使用jdk1.8加入此項配置 maven預設使用1.5版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
- 建立HelloWorld.Java
package helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@EnableAutoConfiguration
@Controller
public class HelloWorld {
@RequestMapping("/hello")
public @ResponseBody String sayHello(){
return "hello world";
}
public static void main(String args[]){
SpringApplication.run(HelloWorld.class, args);
}
}
這裡的@EnableAutoConfiguration很明顯是讓SpringBoot自動配置的意思。SpringBoot會根據pom匯入的包儘可能的判斷我們想要幹什麼從從而自動的配置。@Controller宣告這是一個Controller,最後加上@ResponseBody註解返回json資料方便頁面上顯示。
- 執行HelloWorld.java(run as java application), 啟動完成後開啟瀏覽器輸入localhost:8080/hello/
至此一個簡單的helloworld就完成了。
Question?
- spring-boot-starter-web都有些什麼包?
- 伺服器?
可以看到其中包含了springboot的包,springMVC中常見的webmvc,aop,jackson等熟悉的包,tomcat包以及日誌包。說白了spring-boot-starter-web也就是個集中營壓縮包的感覺。
在看看官方說明:
- 可以看出springboot內嵌了tomcat,jetty,Undertow(JBoss下的一款伺服器)。
並且springboot預設使用的是tomcat作為伺服器,如果想要切換jetty或者Undertow的話只需要修改pom檔案即可(自動配置)。
很簡單,先排除spring-boot-starter-web中的tomcat元件再匯入jetty或者Undertow的包即可.(以jetty為例)
- 可以看出springboot內嵌了tomcat,jetty,Undertow(JBoss下的一款伺服器)。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
相關文章
- 從零開始學 Spring BootSpring Boot
- 從零開始學Spring Boot系列-整合MySQLSpring BootMySql
- 從零開始學Spring Boot系列-整合mybatisSpring BootMyBatis
- 從零開始學Spring Boot系列-整合KafkaSpring BootKafka
- 從零開始學Spring Boot系列-外部化配置Spring Boot
- 從零開始學Spring Boot系列-整合MyBatis-PlusSpring BootMyBatis
- 21. Spring Boot過濾器、監聽器【從零開始學Spring Boot】Spring Boot過濾器
- 從零開始學Spring Boot系列-返回json資料Spring BootJSON
- 從零開始學Spring Boot系列-SpringApplicationSpring BootAPP
- Spring Boot系列(一):Spring Boot快速開始Spring Boot
- 《Spring Boot從零開始學(視訊教學版)》快速入門Spring Boot應用開發Spring Boot
- 從零搭建Spring Boot的Hello WorldSpring Boot
- 從零開始開發一個 WebpackWeb
- 從零開始寫一個ExporterExport
- C語言從零開始(一)C語言
- 從零開始寫JavaScript框架(一)JavaScript框架
- 從零開始仿寫一個抖音App——開始APP
- 從零開始的爬蟲專案(一)爬蟲
- 從零開始的Java RASP實現(一)Java
- 從零開始機器學習機器學習
- 從零開始 OpenCVOpenCV
- 從零開始的 Flutter 動畫Flutter動畫
- 從零開始學Spring Boot系列-整合Spring Security實現使用者認證與授權Spring Boot
- 從零開始學Electron筆記(一)筆記
- 從零開始實現放置遊戲(一)遊戲
- 【從零開始擼一個App】PKCEAPP
- 從零開始寫一個網頁網頁
- Jenkins 從零開始-安裝(一)Jenkins
- ORACLE從零開始系列之SQL(一)OracleSQL
- 從零開始學五筆(一):概述
- 從 標籤開始看 SOFA-Boot 如何融入 SpringbootSpring
- 從零開始搭建一個舒適的ubuntuUbuntu
- 從零開始編寫自己的JavaScript框架(一)JavaScript框架
- 從零開始實現一個RPC框架(零)RPC框架
- Spring MVC 4.2.4 文件實踐(一)--- 菜鳥從零開始學系列SpringMVC
- 從零開始機器學習--05機器學習
- 從零開始機器學習-03機器學習
- 從零開始機器學習--4機器學習