Spring Boot 之HelloWorld開(kāi)發(fā)案例
1.開(kāi)發(fā)工具安裝
在Eclipse上安裝插件:spring Tool Suite(簡(jiǎn)稱STS)
2.開(kāi)發(fā)實(shí)例
1).創(chuàng)建項(xiàng)目
File > New > Spring Starter Project




項(xiàng)目創(chuàng)建完成:

2).生成的源碼解讀
SpringBootSimpleApplication類:
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootSimpleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootSimpleApplication.class, args);
}
}
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>
<groupId>com.example</groupId>
<artifactId>Spring-boot-simple</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Spring-boot-simple</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</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>
3).自定義Controller層
創(chuàng)建HelloWorldController.java類:
package com.example.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class HelloWorldController {
@RequestMapping
public String hello() {
return "Hello Spring-Boot";
}
@RequestMapping("/info")
public Map<String, String> getInfo(@RequestParam String name) {
Map<String, String> map = new HashMap<String,String>();
map.put("name", name);
return map;
}
@RequestMapping("/list")
public List<Map<String, String>> getList() {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = null;
for (int i = 1; i <= 5; i++) {
map = new HashMap<>();
map.put("name-"+i, "spring-boot-"+i);
list.add(map);
}
return list;
}
}
然后現(xiàn)在可以直接運(yùn)行 SpringBootSampleApplication 的main方法,和執(zhí)行普通java程序一樣。
然后可以看到spring-boot 內(nèi)置server容器(默認(rèn)為Tomcat),這一切spring-boot 都幫我們做好了。
在瀏覽器輸入我們3個(gè)請(qǐng)求便可看到結(jié)果。
輸出:Hello Spring-Boot
http://localhost:8080/hello/info?name=spring-boot
輸出:{“name”:”spring-boot”}
http://localhost:8080/hello/list
輸出:[{“name-1”:”spring-boot-1”},{“name-2”:”spring-boot-2”},{“name-3”:”spring-boot-3”},{“name-4”:”spring-boot-4”},{“name-5”:”spring-boot-5”}]
通過(guò)我們的Hello實(shí)例,相信大家一目了然,可謂spring-boot創(chuàng)建一個(gè)項(xiàng)目如此簡(jiǎn)單,完全可以在幾分鐘內(nèi)將服務(wù)啟動(dòng)。
3.注解說(shuō)明
1).@SpringBootApplication
很多Spring Boot開(kāi)發(fā)者總是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他們的main類。由于這些注解被如此頻繁地一塊使用(特別是你遵循以上最佳實(shí)踐時(shí)),Spring Boot提供一個(gè)方便的 @SpringBootApplication 選擇。
該 @SpringBootApplication 注解等價(jià)于以默認(rèn)屬性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。
2).@RestController和@RequestMapping注解
我們的Example類上使用的第一個(gè)注解是@RestController。被稱為一個(gè)構(gòu)造型(stereotype)注解。它為閱讀代碼的人們提供建議。對(duì)于Spring,該類扮演了一個(gè)特殊角色。在本示例中,我們的類是一個(gè)web @Controller ,所以當(dāng)處理進(jìn)來(lái)的web請(qǐng)求時(shí),Spring會(huì)詢問(wèn)它。
@RequestMapping 注解提供路由信息。它告訴Spring任何來(lái)自"/"路徑的HTTP請(qǐng)求都應(yīng)該被映射到 home 方法。
@RestController 注解告訴Spring以字符串的形式渲染結(jié)果,并直接返回給調(diào)用者。
注: @RestController 和 @RequestMapping 注解是Spring MVC注解(它們不是Spring Boot的特定部分)
以上所述是小編給大家介紹的Spring Boot 之HelloWorld開(kāi)發(fā)案例,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)的實(shí)現(xiàn)詳解
平衡二叉樹(shù)又被稱為AVL樹(shù)(有別于AVL算法),且具有以下性質(zhì):它是一棵空樹(shù)或它的左右兩個(gè)子樹(shù)的高度差的絕對(duì)值不超過(guò)1,并且左右兩個(gè)子樹(shù)都是一棵平衡二叉樹(shù)。本文將詳解介紹一下平衡二叉樹(shù)的原理與實(shí)現(xiàn),需要的可以參考一下2022-03-03
Spring中@Value注解獲取不到配置值問(wèn)題及解決
這篇文章主要介紹了Spring中@Value注解獲取不到配置值問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
使用HandlerMethodArgumentResolver用于統(tǒng)一獲取當(dāng)前登錄用戶
這篇文章主要介紹了使用HandlerMethodArgumentResolver用于統(tǒng)一獲取當(dāng)前登錄用戶實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
javaWeb如何實(shí)現(xiàn)隨機(jī)圖片驗(yàn)證碼詳解
這篇文章主要給大家介紹了關(guān)于javaWeb如何實(shí)現(xiàn)隨機(jī)圖片驗(yàn)證碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

