欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot 之HelloWorld开发案例

程序员文章站 2024-02-29 09:24:28
1.开发工具安装 在eclipse上安装插件:spring tool suite(简称sts) 2.开发实例 1).创建项目 file > new >...

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类:

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层

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

然后现在可以直接运行 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开发案例,希望对大家有所帮助