Spring Boot 之HelloWorld开发案例

时间:2021-10-13 06:13:21

1.开发工具安装

在eclipse上安装插件:spring tool suite(简称sts)

2.开发实例

1).创建项目

file > new > spring starter project

Spring Boot 之HelloWorld开发案例

Spring Boot 之HelloWorld开发案例

Spring Boot 之HelloWorld开发案例

Spring Boot 之HelloWorld开发案例

项目创建完成:

Spring Boot 之HelloWorld开发案例

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层

创建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;
 }
}

然后现在可以直接运行 springbootsampleapplication 的main方法,和执行普通java程序一样。

然后可以看到spring-boot 内置server容器(默认为tomcat),这一切spring-boot 都帮我们做好了。

在浏览器输入我们3个请求便可看到结果。

 

输出: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实例,相信大家一目了然,可谓spring-boot创建一个项目如此简单,完全可以在几分钟内将服务启动。

3.注解说明

1).@springbootapplication

很多spring boot开发者总是使用 @configuration , @enableautoconfiguration 和 @componentscan 注解他们的main类。由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),spring boot提供一个方便的 @springbootapplication 选择。

该 @springbootapplication 注解等价于以默认属性使用 @configuration , @enableautoconfiguration 和 @componentscan 。

2).@restcontroller和@requestmapping注解

我们的example类上使用的第一个注解是@restcontroller。被称为一个构造型(stereotype)注解。它为阅读代码的人们提供建议。对于spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @controller ,所以当处理进来的web请求时,spring会询问它。

@requestmapping 注解提供路由信息。它告诉spring任何来自"/"路径的http请求都应该被映射到 home 方法。
@restcontroller 注解告诉spring以字符串的形式渲染结果,并直接返回给调用者。

注: @restcontroller 和 @requestmapping 注解是spring mvc注解(它们不是spring boot的特定部分)

以上所述是小编给大家介绍的spring boot 之helloworld开发案例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/web424/p/6755929.html