环境准备:
  • jdk1.8:java version "1.8.0_231",详见链接
  • maven3.x:maven3.3以上版本,详见链接
  • IDEA2021:IntelliJ IDEA 2021.1.1 x64,详见链接
Spring Boot 之HelloWorld

功能:实现从web端发送接口请求,服务端收到请求并响应

1、使用Spring Initializr创建

1)File > New > Project

2)选中Spring Initializr,填写Artifact(项目名称)、Group(项目组织)、以及Package name(包名),和选择Loacation(项目存放的目录),点击Next

3)因为创建的是一个Web项目,所以引入Spring Web的相关组件,点击Finish

创建完成后的目录结构:

  • 代码目录:src/main/java/com.cavan.helloword

    HellowordApplication启动类

  • 资源目录:resource

    static:静态资源(jss css 图片 音频 视频)

    templates:模板文件(模板引擎freemarker thymeleaf 默认不支持jsp)

    application.properties:Spring boot默认的应用外部配置文件

  • 单元测试目录:test/java/com.cavan.helloword

  • 配置文件:pom.xml

    该文件用于管理源代码、打包方式、项目的依赖关系等等。

2、使用maven创建

1)File > New > Project,选择maven工程

为项目起个名字,这里helloworld-maven,然后点击Finish

2)引入web项目依赖

<!--web项目核心依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version> 2.3.7.RELEASE</version>
</dependency>
<!--测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version> 2.3.7.RELEASE</version>
<scope>test</scope>
</dependency>

3)创建项目的入口类

在包com.cavan.helloworld下创建启动类HelloworldApplication

package com.cavan.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; /**
* @program: helloworld-maven
* @description: <description>
* @author: cavan
* @create: 2021-11-29 21:54
*/
@SpringBootApplication
public class HelloworldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloworldApplication.class);
}
}
3、编写代码

通常,我们使用三层结构来编写。

应用层(Controller)、服务层(Service)、数据层(Dao)

我们在controller层增加HelloWorld类:

package com.cavan.helloword.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* @program: helloword
* @description: <description>
* @author: cavan
* @create: 2021-11-28 10:31
*/
@RestController
@RequestMapping(value = "")
public class HelloWord {
@GetMapping(value = "hello")
public String hello() {
return "hello world";
}
}

并在application.properties配置文件中修改服务端口:

server.port=8888

4、运行
4.1在本地idea运行

1)运行主程序 Run > Run 'HellowordApplication'

2)chorme浏览器访问http://localhost:8080/hello

4.2在Linux环境运行

1)通过mvn clean package 命令打包成helloword-0.0.1-SNAPSHOT.jar;

2)将jar包上传到/root目录下,使用java -jar helloword-0.0.1-SNAPSHOT.jar运行项目代码

3)使用curl访问服务,curl http://localhost:8888/hello

本文代码Gitee链接:

spring Initializr方式:https://gitee.com/cavan2021/springboot/tree/master/helloword

maven方式:https://gitee.com/cavan2021/springboot/tree/master/helloworld-maven

SpringBoot系列(二) 环境搭建,创建我的第一个程序HelloWord。的更多相关文章

  1. 使用 robotframework 自动化测试系列 二 -----环境搭建

    环境搭建是测试人员基础,本质都是不难的,按照流程和步骤一步步做,遇到问题不要担心,解决的问题越多,你理解的也就越多. 1. 安装python环境,python现在有python2 和python3.由 ...

  2. Python介绍、环境搭建(Eclipse插件)、第一个程序

    Python介绍 特点 优雅.明白.简单. 适合领域 1. Web站点和各种网络服务 2. 系统工具和脚本 3. 作为"胶水"语言把其它语言开发的模块包装起来方便使用 和其它语言对 ...

  3. SpringBoot系列二:搭建自己的第一个SpringBoot程序

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 一.根据官网手工搭建(http://projects.spring.io/spring-boot/#quick-start) 1 ...

  4. 从零开始学Xamarin.Forms(二) 环境搭建、创建项目

    原文:从零开始学Xamarin.Forms(二) 环境搭建.创建项目 一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK,当然还需要 VS2013 ...

  5. 一、springBoot简介与环境搭建

    前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...

  6. 1、 小白带你入坑xamarin系列之环境搭建和准备

    重点提示 由于xamarin发展更新很快 目前教程部分内容已经过时 请注意下载最新版本   2018.05.23 www.xamarin.com 1. 小白带你入坑xamarin系列之环境搭建和准备 ...

  7. 从零開始学Xamarin.Forms(二) 环境搭建、创建项目

    一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK.当然还须要 VS2013 update 2(VS2010.VS2012均可)以上. a.  最新 ...

  8. PHP Laravel系列之环境搭建( VirtualBox+Vagrant+Homestead+系列网址)

    搭建环境从来都是阻挡一门新技能的最致命的硬伤,为了这个环境,我又是花费了半天的时间,各种问题层出不穷,下面基于网上的一些教程(我看到的都多少有些问题) 开始的时候是在实验楼这个平台上开始学习的,不过 ...

  9. Selenium+Python系列 - 开发环境搭建

    一.写在前面 我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些Python自动化的文章吗,答案是肯定的. 笔者Java党,整P ...

  10. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

随机推荐

  1. 力扣844(Java)-比较含退格的字符串(简单)

    题目: 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:s = ...

  2. 面试题45(Java)-把数组排成最小的数(中等)

    题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个. 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [ ...

  3. Apsara Stack 技术百科 | 可运营的行业云,让云上资源跑起来

    ​简介:企业级云管理平台,如何打造千人千面的个性化体验,从应用.云资源.硬件等进行全局智能优化,实现资源配置的最佳配比,构建精细化运营能力? ​ 距离第一例新冠疫情病例的发现,不知不觉中已经过去两年, ...

  4. Python静态类型解析工具简介和实践

    简介: Python是一门强类型的动态类型语言,开发者可以给对象动态指定类型,但类型不匹配的操作是不被允许的.动态类型帮助开发者写代码轻松愉快,然而,俗话说:动态一时爽,重构火葬场.动态类型也带来了许 ...

  5. 快手基于 Flink 构建实时数仓场景化实践

    简介: 一文了解快手基于 Flink 构建的实时数仓架构,以及一些难题的解决方案. 本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题<快手基于 F ...

  6. Python编程的若干个经典小技巧

    1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x,y= 10,20 print(x,y) x,y= y,x print(x,y) # ...

  7. C# - 自建 SDK 的 API 文档

    在代码中添加 API 文档 用户在使用类库时,通常需要通过 VS 的 Intellisense 或 F12 反编译查看 API 的注释,借助这些注释来了解如何使用 API.在 C# 源文件中,可以通过 ...

  8. 飞桨PaddleLite架构研读

    一.架构全景图 二.源码详细解读 1. Lite体系下似乎有多种 op_desc/program_desc 的定义,之间的关系是什么?这样设计的背景和好处是什么? model_parser目录下,包含 ...

  9. 一键自动化博客发布工具,用过的人都说好(infoq篇)

    infoq的博客发布界面也是非常简洁的.首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单. 一起来看看吧. 前提条件 前提条件当然是先下载 blog-auto-publishi ...

  10. C#的关于窗体的类库方案 - 开源研究系列文章

    这次想到了以前编写的关于应用的那个类库,不过当时的只是定义了显示接口,然后调用窗体显示.现在想到要把这个关于窗体的类库进行集合,统一调用,于是就把原来的代码进行了修改完善,终于得到了这次这个例子. 这 ...