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. sed 和 awk

    sed [选项] 动作 文件 -n #取消默认输出 ,有n必须要有p,有p加了n才不会有默认输出 -i #真正的替换,修改 -r #支持扩展正则 (* [A-z] '|') 内部命令: p #打印 - ...

  2. python(类多态)

    一.多态 (以封装和继承为前提)不同的子类调用相同的方法,产生不同的结果 class Dog(): def __init__(self,name): self.name = name def game ...

  3. OSG程序设计之Hello World 2.0

    现在为Hello World添加一些键盘响应事件. //需要多添加两个库:osgGAd.lib.osgd.lib 代码如下: #include <osgDB/ReadFile> #incl ...

  4. PLAI那些事_07 FAE with Deferred Substitution

    FAE-parse : 一成不变 FAE-Value : interp的最终转让值 ;;numV: value ;;closureV: param-FAE(或value,或function) pair ...

  5. 用 GitHub Action 构建一套 CI/CD 系统

    ​ 缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 r ...

  6. 谈谈Spring中的BeanPostProcessor接口

    一.前言   这几天正在复习Spring的相关内容,在了解bean的生命周期的时候,发现其中涉及到一个特殊的接口--BeanPostProcessor接口.由于网上没有找到比较好的博客,所有最后花了好 ...

  7. Day_14【IO流】扩展案例1_缓冲区字符输入、输出流,键盘录入,contains()方法的统一运用

    分析以下需求,并用代码实现 实现一个验证码小程序,要求如下: 1. 在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行: 2. 键盘 ...

  8. 【Hadoop离线基础总结】HDFS入门介绍

    HDFS入门介绍 概述 HDFS全称为Hadoop Distribute File System,也就是Hadoop分布式文件系统,是Hadoop的核心组件之一. 分布式文件系统是横跨在多台计算机上的 ...

  9. [codeforces-542-C]YY?

    链接:http://codeforces.com/problemset/problem/542/C 题意:对一个函数f(x),定义域[1,n], 令f(k,x) = f(f(f(f...f(x)))) ...

  10. mfw

    0x01 可能为git泄露 git泄露 githack下载源码 index.php <?php if (isset($_GET['page'])) { $page = $_GET['page'] ...