1.開發(fā)工具安裝
在eclipse上安裝插件:spring tool suite(簡稱sts)
2.開發(fā)實(shí)例
1).創(chuàng)建項(xiàng)目
file > new > spring starter project
項(xiàng)目創(chuàng)建完成:
2).生成的源碼解讀
springbootsimpleapplication類:
1
2
3
4
5
6
7
8
9
|
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文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?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類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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è)請求便可看到結(jié)果。
輸出:hello spring-boot
輸出:{“name”:”spring-boot”}
輸出:[{“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實(shí)例,相信大家一目了然,可謂spring-boot創(chuàng)建一個(gè)項(xiàng)目如此簡單,完全可以在幾分鐘內(nèi)將服務(wù)啟動(dòng)。
3.注解說明
1).@springbootapplication
很多spring boot開發(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)注解。它為閱讀代碼的人們提供建議。對于spring,該類扮演了一個(gè)特殊角色。在本示例中,我們的類是一個(gè)web @controller ,所以當(dāng)處理進(jìn)來的web請求時(shí),spring會(huì)詢問它。
@requestmapping 注解提供路由信息。它告訴spring任何來自"/"路徑的http請求都應(yīng)該被映射到 home 方法。
@restcontroller 注解告訴spring以字符串的形式渲染結(jié)果,并直接返回給調(diào)用者。
注: @restcontroller 和 @requestmapping 注解是spring mvc注解(它們不是spring boot的特定部分)
以上所述是小編給大家介紹的spring boot 之helloworld開發(fā)案例,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
原文鏈接:http://www.cnblogs.com/web424/p/6755929.html