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




項目創(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)在可以直接運行 SpringBootSampleApplication 的main方法,和執(zhí)行普通java程序一樣。
然后可以看到spring-boot 內(nèi)置server容器(默認為Tomcat),這一切spring-boot 都幫我們做好了。
在瀏覽器輸入我們3個請求便可看到結(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”}]
通過我們的Hello實例,相信大家一目了然,可謂spring-boot創(chuàng)建一個項目如此簡單,完全可以在幾分鐘內(nèi)將服務(wù)啟動。
3.注解說明
1).@SpringBootApplication
很多Spring Boot開發(fā)者總是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他們的main類。由于這些注解被如此頻繁地一塊使用(特別是你遵循以上最佳實踐時),Spring Boot提供一個方便的 @SpringBootApplication 選擇。
該 @SpringBootApplication 注解等價于以默認屬性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。
2).@RestController和@RequestMapping注解
我們的Example類上使用的第一個注解是@RestController。被稱為一個構(gòu)造型(stereotype)注解。它為閱讀代碼的人們提供建議。對于Spring,該類扮演了一個特殊角色。在本示例中,我們的類是一個web @Controller ,所以當處理進來的web請求時,Spring會詢問它。
@RequestMapping 注解提供路由信息。它告訴Spring任何來自"/"路徑的HTTP請求都應(yīng)該被映射到 home 方法。
@RestController 注解告訴Spring以字符串的形式渲染結(jié)果,并直接返回給調(diào)用者。
注: @RestController 和 @RequestMapping 注解是Spring MVC注解(它們不是Spring Boot的特定部分)
以上所述是小編給大家介紹的Spring Boot 之HelloWorld開發(fā)案例,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring解讀@Component和@Configuration的區(qū)別以及源碼分析
通過實例分析@Component和@Configuration注解的區(qū)別,核心在于@Configuration會通過CGLIB代理確保Bean的單例,而@Component不會,在Spring容器中,使用@Configuration注解的類會被CGLIB增強,保證了即使在同一個類中多次調(diào)用@Bean方法2024-10-10
Eclipse+Java+Swing實現(xiàn)斗地主游戲(代碼)
這篇文章主要介紹了Eclipse+Java+Swing實現(xiàn)斗地主游戲并附上詳細的代碼實現(xiàn),正在學習的你可以當小練習練練,希望對你有所幫助2022-01-01
關(guān)于Spring注解@Async引發(fā)其他注解失效的解決
這篇文章主要介紹了關(guān)于Spring注解@Async引發(fā)其他注解失效的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
Jvisualvm監(jiān)控遠程SpringBoot項目的過程詳解
這篇文章主要介紹了Jvisualvm監(jiān)控遠程SpringBoot項目,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
SpringBoot Admin升級boot等組件版本后無法監(jiān)控微服務(wù)問題
這篇文章主要介紹了SpringBoot Admin升級boot等組件版本后無法監(jiān)控微服務(wù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

