1. Spring Boot 的由来

大家都知道,Spring框架是Java生态中举足轻重的轻量型框架,帮助我们广大的大佬们进行Java开发。Spring框架的发展非常的迅速,从最开始的Spring核心容器帮助我们管理Java对象,到后来各种业务上的问题,Spring框架几乎都有与之对应的解决方案。但随着越来越多的业务集成到Spring框架中,Spring与各组件的配置文件越来越多,配置越来越繁杂,开发人员不能很好的专注业务逻辑,给开发人员带来了困扰。所以说,Spring框架本身是轻量型的,但是Spring的配置却是重量型的。Spring的开发者早早的就注意到了这个问题,为了解决这个问题,Spring Boot 应运而生。Spring Boot 的核心理念是约定优于配置。即:Java开发者不需要关心各个jar包之间的依赖关系,依赖关系由Spring开发者们提前帮你们配置好了,并打成jar包,Java开发者只需要引入jar就可以快速开发,极大的提高了Java开发者的效率,而且配置文件也只剩下了一个。在Spring Boot 出现之前,开发一个项目的的项目搭建工作可能需要30分钟左右,Spring Boot 出现之后,5分钟都不要,开发者们就可以进行代码的编写。极大的提高了开发者的效率,也为Spring 框架注入了新的生命力。

2. Spring Boot 的 hello world

Spring Boot 这么好的框架我们怎么能不学呢?接下来,我将带领大家学习 Spring Boot 这个开启新纪元的框架,学习一个新知识,肯定是从 hello world 开始啦!

  • 2.1 创建工程,引入依赖

    创建工程相信大家都会,省略此过程,直接引入maven依赖,pom.xml

    <!--springboot父工程-->
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent> <dependencies>
    <!--springboot框架web组件-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.2.2.RELEASE</version>
    </dependency>
    </dependencies> <build>
    <!--springboot的maven插件-->
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <compilerArgs>
    <arg>-parameters</arg>
    </compilerArgs>
    </configuration>
    </plugin>
    </plugins>
    </build>
  • 2.2 配置文件的配置

    application.yml

    server:
    port: 8080 # 应用的端口
    servlet:
    context-path: /butterflytri # 整个应用的映射地址
    spring:
    application:
    name: helloworld # 应用名称
  • 2.3 代码编写

    • 首先创建包:

    • 创建HelloWorldApplication.java类:

      package org.butterflytri;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication; /**
      * @author: WJF
      * @date: 2020/5/15
      * @description: HelloWorldApplication
      */ /**
      * {@link SpringBootApplication}: 这个注解帮助你加载配置文件{@link 'application.yml'}的配置,
      * 被这个注解标识的类就是启动类,是整个工程的入口。
      */
      @SpringBootApplication
      public class HelloWorldApplication { public static void main(String[] args) {
      SpringApplication.run(HelloWorldApplication.class,args);
      } }
    • 创建HelloWorldController.java类:

      package org.butterflytri.controller;
      
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController; /**
      * @author: WJF
      * @date: 2020/5/15
      * @description: Hello World!
      */
      @RestController
      @RequestMapping("/helloWorld")
      public class HelloWorldController { private static final String HELLO_WORLD = "Hello World!"; /**
      * 运行项目,访问:http://localhost:8080/butterflytri/helloWorld/go 即可看到hello world!
      * @return String
      */
      @RequestMapping("/go")
      public String go() {
      return HELLO_WORLD;
      } }
  • 2.4 启动工程,访问方法

    访问http://localhost:8080/butterflytri/helloWorld/go路径,即可在页面看到应用的响应结果:Hello World!

3. 项目地址

本项目传送门:spring-boot-helloworld

此教程会一直更新下去,觉得博主写的可以的话,关注一下,也可以更方便下次来学习。

Spring Boot 教程(1) - HelloWorld的更多相关文章

  1. 程序员DD 《Spring boot教程系列》补充

    最近在跟着程序员DD的Spring boot教程系列学习Spring boot,由于年代原因,Spring boot已经发生了一些变化,所以在这里进行一些补充. 补充的知识大多来自评论区,百度,Sta ...

  2. Spring Boot教程(十六)属性配置文件详解(1)

    相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...

  3. Spring boot教程mybatis访问MySQL的尝试

    Windows 10家庭中文版,Eclipse,Java 1.8,spring boot 2.1.0,mybatis-spring-boot-starter 1.3.2,com.github.page ...

  4. spring boot 教程(一) 构建我的第一个Spring boot

    Spring Boot特点 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标, ...

  5. Spring Boot 教程

    Spring Boot 系列教程: Spring Boot:快速入门教程 Spring Boot:整合Swagger文档 Spring Boot:整合MyBatis框架 Spring Boot:实现M ...

  6. Spring Boot 教程系列学习

    Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTful API简单项目的快速搭建 Spring Boot基础教程3-配置文件详 ...

  7. Spring Boot教程(二十二)使用Swagger2构建强大的RESTful API文档(1)

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  8. Spring Boot教程(十四)快速入门

    快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性. 系统要求: ...

  9. 使用Eclipse开发学习 Spring Boot 教程的内容小结

    spring-tool-suite使用教程,并创建spring配置文件 Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTful ...

随机推荐

  1. KAFKA官方教程笔记-introduction

    为什么80%的码农都做不了架构师?>>>   介绍 apache kafka是一个分布式流式处理平台,一个流式平台该有的三个关键能力: 发布.订阅流式数据.从这个角度讲类似消息队列或 ...

  2. golang 线上项目部署折腾之一

    最近自己使用golang折腾了一点东西,可是需要部署到线上才好玩,那么服务器使用了aws,然后使用了docker和没有使用docker部署了一次.简单记录一下过程 aws服务器 为什么使用aws呢,说 ...

  3. linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理...

    linux和windows互传文件 第一种:在linux主机上下载lrzsz软件包 1.yum install lrzsz 2.通过rz命令上传window的文件到linux主机上 用过sz 文件名下 ...

  4. Jaba_Web--JDBC 查询记录操作模板

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  5. jmeter正则表达式提取多个数据/一组数据时,应该怎么做——debug sampler的使用

    背景:今天有个接口需要借助前面接口产生的一组ids数据,来作为入参使用,但是之前都是提取单个接口,所以到底怎么提取接口,遇到了很大的问题,按照多方查取资料都没有成功,最终在一个不相关帖子的最后一句话被 ...

  6. MySQL升级-CentOS6.8

    在腾讯云购买的服务器自带的MySQL是5.1版本的,相对于最新版的5.7差了很多特性,在平时的项目练习中使用到了MySQL也会遇到一些奇葩的错误,很有必要升级到至少5.5版本以上. 步骤: 1.备份数 ...

  7. Flutter 1.17版本重磅发布

    Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...

  8. 能量项链(区间DP入门)

    题面:能量项链https://www.luogu.com.cn/problem/P1063 乍一看和石子合并差不多,可是多了头值和尾值,看起来十分麻烦 我们画一张图,紫色表示头值,蓝色表示尾值.规定西 ...

  9. Git上传文件、文件夹到github

    上传一个文件: $ git add test.txt 上传多个文件: $ git add test.txt demo.txt 同理: 上传一个文件夹: $ git add learngit 上传多个文 ...

  10. [codeforces 200 A Cinema]暴力,优化

    题意大致是这样的:有一个有n行.每行m个格子的矩形,每次往指定格子里填石子,如果指定格子里已经填过了,则找到与其曼哈顿距离最小的格子,然后填进去,有多个的时候依次按x.y从小到大排序然后取最小的.输出 ...