一 什么是springboot
springboot是一個全新的框架,它設計的目的簡化spring項目的初始環境的搭建和開發,主要有以下幾個特點:
1、簡化初始配置 ,可與主流框架集成;
2、內置Servlet容器,無需在打War包;
3、使用了Starter(啟動器)管理依賴並版本控制;
4、大量的自動配置,簡化開發,方便集成第三方;
5、提供准生產環境運行時的監控,如指標,健康,外部配置等;
6、無需XML配置,減少冗余代碼 。
未使用springboot時,如果我們要搭建一個springweb項目環境,我們需要配置web.xml及各種xml的配置文件來集成其他第三方的框架,而這些springboot已經幫我們做了集成,我們不再需要去配置。
二 入門實例
創建springboot項目有2中方式,1種是通過ide來創建,一種是官方網站創建(https://start.spring.io創建完成后會將工程下載到本地)然后導入ide即可,本文我們通過idea創建項目。
1 在idea的工具欄 file-->new project 如下圖
會彈出選擇工程類型的框,如下圖
這個時候我們有2種選擇,一種是使用Spring Initializr創建,一種是使用Maven或者Gradle創建。這兩種方式的不同的地方是使用方法二創建的是空項目,我們需要自己去修改添加所需要的依賴,方式一在創建的過程中,我們可以在ide中直接選擇需要的依賴且會生成一個項目的根啟動類。本文我們使用Spring Initializr來創建項目。點擊上圖的Next
輸入Group、Artifact、Package的對應的信息,再點擊next
這是我們可以選擇我們的項目要運行的springboot的版本和需要的依賴包(本文我們只選擇依賴web),然后點擊Next
這是彈框會顯示我們項目的名稱及項目的路徑,點擊Finish。初始時會下載springboot默認依賴的一些jar包,需要一會時間,我們等待它下載完成。之后我們可以看到項目的結構
pom.xml內容如下,2.0.8版本不是一個發布版本,在我們的實際項目中,最好還是要引用release版本的。
<?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>
<groupId>org.allen.demo</groupId>
<artifactId>springboot-helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot-helloworld</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
生成的啟動類,一個可執行的main方法。
package org.wl.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class HelloWorldApplication { public static void main(String[] args) { SpringApplication.run(HelloWorldApplication.class, args); } }
默認在類上邊使用了@SpringBootApplication注解,這個注解是一個符合注解,相當於同時使用
@SpringBootConfiguration 指定類為配置類
@EnableAutoConfiguration 開啟自動配置
@ComponentScan 指定掃描路徑
下來創建一個可以訪問的控制器,使用@RestController注解,它是一個復合注解,相當於同時使用了@Controller和@ResponseBody注解
package org.wl.demo.web; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello") public String hello(){ return "hello world"; } }
執行main方法,啟動項目,在控台可可以看到啟動的日志信息
[ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
[ main] org.wl.demo.HelloWorldApplication : Started HelloWorldApplication in 3.591 seconds (JVM running for 4.784)
內嵌的tomcat服務器已經啟動,啟動端口是8080,更路徑是'',我們訪問控制器的hello方法
這樣一個web項目環境就搭建成功了,使用起來還是很簡單方便的。
在上邊的日志信息中,默認啟動端口是8080,訪問根路徑是‘’,如果我們希望修改的話也是可以的,只需要在application.properties中修改
修改端口,從默認的8080修改為8090
server.port=8090
修改根路徑 修改前是‘’,修改后為‘/helloworld’
server.servlet.context-path=/helloWorld