一、介绍

它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。

Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

二、部署一个简单的Spring Boot项目实例

File-->new project:

只勾选web:

然后finish

创建项目完成:目录结构

pom相关的依赖:

<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description> <properties>
<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>

三、测试

1、简单例子(注意:@RestController相当于@Controller和@ResponseBody组合)

2、从application.yml文件获取值:

结果:

3、但是这样配置,当一个类属性过多时,就会显得异常繁琐,所以我们可以使用如下方式:

创建bean

package com.example.demo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; /**
* @Author:
* @Date: 2019/5/9
*
*/
@Component
@ConfigurationProperties(prefix = "boy")
public class Boy {
private String name;
private String age;
private String price; public String getName() {
return name;
} public Boy setName(String name) {
this.name = name;
return this;
} public String getAge() {
return age;
} public Boy setAge(String age) {
this.age = age;
return this;
} public String getPrice() {
return price;
} public Boy setPrice(String price) {
this.price = price;
return this;
}
}

在applcation.yml添加信息

@RestController
public class HelloController {
@Autowired
private Boy boy;
@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String say(){
return "名字:"+boy.getName()+",年龄:"+boy.getAge();
}
}

4、多个配置文件调用

再application.yml中调用dev1配置文件

5、多个url访问同一个页面可以集合的方式,如下:

@RestController
public class HelloController {
@Autowired
private Boy boy;
@RequestMapping(value ={"/hello","/test"},method = RequestMethod.GET)
public String say(){
return "名字:"+boy.getName()+",年龄:"+boy.getAge();
}
}

6、获取url中的值

@RestController
public class HelloController {
@Autowired
private Boy boy;
@RequestMapping(value ={"/hello/{id}"},method = RequestMethod.GET)
public String say(@PathVariable("id") String id){
return "名字:"+boy.getName()+",年龄:"+boy.getAge()+id;
}
}

需要注意的是这个id写在hello的前后都无所谓,都可以拿到值,只是访问的路径不同而已(如果是{id}/hello,那么就是2/hello)

当多个url访问同一个页面是,这种方式每一个url都需要去配置一个id

@RestController
public class HelloController {
@Autowired
private Boy boy;
@RequestMapping(value ={"/hello/{id}","/test/{id}"},method = RequestMethod.GET)
public String say(@PathVariable("id") String id){
return "名字:"+boy.getName()+",年龄:"+boy.getAge()+",id:"+id;
}
}

可以使用这种方式,就不用在去每个url后面跟id了:

@RestController
public class HelloController {
@Autowired
private Boy boy;
@RequestMapping(value ={"/hello","/test"},method = RequestMethod.GET)
public String say(@RequestParam("id") String id){
return "名字:"+boy.getName()+",年龄:"+boy.getAge()+",id:"+id;
}
}

7、组合注解@GetMapping 和RequestMapping功能是一样的

required表示参数是否必传,defaultValue代表默认值(String)

使用IDEA构建Spring Boot项目简单实例的更多相关文章

  1. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  2. 用Gradle构建Spring Boot项目

    相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本.本文将从无到有创建一个用Gradle构建的Spring Boot项目, ...

  3. spring boot系列01--快速构建spring boot项目

    最近的项目用spring boot 框架 借此学习了一下 这里做一下总结记录 非常便利的一个框架 它的优缺点我就不在这背书了 想了解的可以自行度娘谷歌 说一下要写什么吧 其实还真不是很清楚,只是想记录 ...

  4. docker 构建 spring boot项目

    在docker 开始部署springBoot项目 1.在centos7 ~ 创建一个文件夹docker 里面放置 上面的Dockerfile 和 springBoot 打包的项目docker_spri ...

  5. java Spring boot项目简单说明

    前言 一直从事.NET开发,但一直有种想去探索Java世界的冲动,今天终于有时间来尝试一下,以下是自己探索过程的简要记录. 一.开发工具 开发工具选用 IntelliJ IDEA社区版(免费),安装教 ...

  6. 笔记:Spring Boot 项目构建与解析

    构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring ...

  7. Spring Boot - 项目构建与解析

    构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring ...

  8. 三十二张图告诉你,Jenkins构建Spring Boot 有多简单~

    持续原创输出,点击上方蓝字关注我 目录 前言 如何安装Jenkins? 环境准备 开始安装Jenkins 初始化配置 访问首页 输入管理员密码 安装插件 创建管理员 实例配置 配置完成 构建Sprin ...

  9. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

随机推荐

  1. 西湖论剑2020MISC-Yusa_yyds

    非常规USB流量分析 附件下载: 链接:https://pan.baidu.com/s/1Gjgj1EH9qmX0PYi21uYlDg 提取码:x9xn 先提取USB流量数据,使用工具: https: ...

  2. Android10_原理机制系列_PMS的启动及应用的安装过程

    概述 这里主要介绍 PackageManagerService(简称PMS)的启动 和 一个应用的安装过程.这里只是大致总结,供参考,不少地方同样需要进一步深入了解学习的. 该篇相关代码也是基于And ...

  3. element ui中表格table翻页记忆勾选状态

    <el-table ref="multipleTable" :data="datalist" style="width:100%" @ ...

  4. ARM架构安装Kubernetes集群

    背景 类型 版本 操作系统 CentOS Linux release 7.6.1810 (AltArch) 内核 Linux master 4.18.0-80.7.2.el7.aarch64 硬件配置 ...

  5. 【WC2014】紫荆花之恋(替罪羊重构点分树 & 平衡树)

    Description 若带点权.边权的树上一对 \((u, v)\) 为 friend,那么需要满足 \(\text{dist}(u, v) \le r_u + r_v\),其中 \(r_x\) 为 ...

  6. git clone 速度太慢解决方法

    本来想下载一个翻墙软件,实在是忍受不了每秒十几K的龟速,查阅各种资料,终于找到了失传已久的秘籍 先附图,实测有效,这速度简直要上天了啊啊啊啊啊(只支持HTTPS方式,SSH无效) 方案:使用githu ...

  7. mybatis-plus快速入门并使用

    目录 mybatis-plus的初次使用总结 说明:官网自有黄金屋,深入学习看官网是必须的,废话不多说 环境:springboot.mysql 一.配置 pom yml配置数据库 二.代码生成器 生成 ...

  8. 一文搞懂Java引用拷贝、浅拷贝、深拷贝

    微信搜一搜 「bigsai」 专注于Java和数据结构与算法的铁铁 文章收录在github/bigsai-algorithm 在开发.刷题.面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况 ...

  9. ceph工作原理及安装

    一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...

  10. 题解 P1579 【哥德巴赫猜想(升级版)】

    蒟蒻AC代码,讲解请看题解中. 1 #include<bits/stdc++.h> 2 #include<iostream> 3 #include<cmath> / ...