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. 数学--数论--随机算法--Pollard Rho 大数分解算法 (带输出版本)

    RhoPollard Rho是一个著名的大数质因数分解算法,它的实现基于一个神奇的算法:MillerRabinMillerRabin素数测试. 操作流程 首先,我们先用MillerRabinMille ...

  2. 超轻量级网络SqueezeNet网络解读

    SqueezeNet网络模型非常小,但分类精度接近AlexNet. 这里复习一下卷积层参数的计算 输入通道ci,核尺寸k,输出通道co,参数个数为: 以AlexNet第一个卷积为例,参数量达到:3*1 ...

  3. 一只简单的网络爬虫(基于linux C/C++)————开篇

    最近学习开发linux下的爬虫,主要是参考了该博客及其他一些网上的资料.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息 ...

  4. 【原创】Linux Mutex机制分析

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  5. win10 手动安装mysql-8.0.11-winx64.zip

    0.彻底删除win10上安装的mysql(转载 : https://www.cnblogs.com/jpfss/p/6652701.html) 1.去官网下载mysql-8.0.11-winx64.z ...

  6. Java——接口相关知识

    1.接口用interface来声明 //定义一个动物接口 public interface Animal{ public void eat(); public void travel(); } 2.接 ...

  7. MES系统介绍(一)

    由于本人从事的行业主要为Mes行业,所以这里准备介绍一下Mes系统的基础概念和实际运用,并且以自己做过的一个实际案例(包括代码)来详细描述自己对Mes系统的认识,帮助小白扫盲,望大神勿喷. MES系统 ...

  8. S - Query on a tree HDU - 3804 线段树+dfs序

    S - Query on a tree HDU - 3804   离散化+权值线段树 题目大意:给你一棵树,让你求这棵树上询问的点到根节点直接最大小于等于val的长度. 这个题目和之前写的那个给你一棵 ...

  9. VSCode最强助攻

    VSCode最强助攻 VS Code是前端界必备的开发工具.页面仔小杨简单介绍几款高效.好用的插件,让原本单薄的VS Code如虎添翼,开发效率倍增. vscode-icons vscode-icon ...

  10. LeetCode--LinkedList--206. Reverse Linked List(Easy)

    206. Reverse Linked List(Easy) 题目地址https://leetcode.com/problems/reverse-linked-list/ Reverse a sing ...