Spring Boot 之HelloWorld开发案例
1.开发工具安装
在eclipse上安装插件:spring tool suite(简称sts)
2.开发实例
1).创建项目
file > new > spring starter project
项目创建完成:
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开发案例,希望对大家有所帮助
下一篇: MySQL 中查找含有目标字段的表的方法
推荐阅读
-
Spring Boot 之HelloWorld开发案例
-
Spring Boot基础学习之Mybatis操作中使用Redis做缓存详解
-
基于Spring开发之自定义标签及其解析
-
Spring Boot + Mybatis 实现动态数据源案例分析
-
Spring Boot(五)之跨域、自定义查询及分页
-
Spring Boot(四)之使用JWT和Spring Security保护REST API
-
Spring Boot(三)之找回熟悉的Controller,Service
-
spring4新特性之web开发增强
-
Spring Boot开发Web应用详解
-
Spring Boot 开发私有即时通信系统(WebSocket)