使用Spring框架開(kāi)發(fā)Java應(yīng)用時(shí)间聊,需要寫大量的xml配置文件,Spring Boot使用了大量的Java配置來(lái)減少xml配置
Spring Boot的特點(diǎn):
1渔工、集成了spring的所有特性畦贸,可以開(kāi)發(fā)獨(dú)立的spring應(yīng)用
2、內(nèi)置tomcat樟凄、jetty等web服務(wù)器聘芜,無(wú)需單獨(dú)部署web服務(wù)器
3、沒(méi)有代碼生成和XML配置要求缝龄,都是自動(dòng)配置
開(kāi)發(fā)環(huán)境:
IDE:intellij idea
spring boot版本:1.5.2
-
新建項(xiàng)目:
在intellij中新建java web項(xiàng)目
-
添加maven支持:
右鍵項(xiàng)目汰现,Add Framework Support,然后選擇maven即可
引入spring boot相關(guān)依賴
pom.xml中添加:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<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>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
- 編寫demo接口
@RestController
public class BootController {
@RequestMapping("/helloworld")
public ApiResponse helloWorld() {
ApiResponse<String> ret = new ApiResponse<>();
ret.setId("xxx");
ret.setMsg("success");
ret.setData("real data");
return ret;
}
}
spring-boot會(huì)自動(dòng)將對(duì)象類型的返回值轉(zhuǎn)換為json格式~~
- 編寫spring boot啟動(dòng)類:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
這里需要注意的是啟動(dòng)類的位置: Application需要放在所有controller的根節(jié)點(diǎn)上叔壤,保證能夠正常訪問(wèn)我們定義的controller瞎饲,否則會(huì)出現(xiàn)一些異常比如controller無(wú)法訪問(wèn)
- 運(yùn)行
通過(guò)運(yùn)行Application類來(lái)啟動(dòng)應(yīng)用,有以下幾種方式:
1炼绘、通過(guò)IDE運(yùn)行
運(yùn)行效果:
2企软、通過(guò)maven運(yùn)行:
mvn spring-boot:run
運(yùn)行效果:
可以通過(guò)ctrl+c關(guān)閉應(yīng)用
3、通過(guò)打包為可執(zhí)行的jar包運(yùn)行:
mvn package
直接通過(guò)命令執(zhí)行jar包即可啟動(dòng)應(yīng)用:
java -jar spring-boot-demo-1.0-SNAPSHOT.jar
有了以上幾個(gè)步驟饭望,應(yīng)用運(yùn)行起來(lái)后仗哨,通過(guò)頁(yè)面訪問(wèn):
這樣一個(gè)簡(jiǎn)單的RESTful應(yīng)用就搭起來(lái)了