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

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

最新文章

  1. WCF传输大数据的设置2
  2. C++线程中packaged_tack
  3. Servlet生命周期中的service方法分析
  4. 正则表达式30分钟入门:http://deerchao.net/tutorials/regex/regex.htm#mission
  5. p364习题1
  6. HashMap在Android和Java中的不同实现
  7. MM32 RTC学习(兼容STM32)
  8. python编码问题之\&quot;encode\&quot;&amp;\&quot;decode\&quot;
  9. TCP/IP的4层模型
  10. LeetCode之旅
  11. 关于dumper和mysqldump的
  12. (算法)Word Break
  13. iSCSI Network Designs: Part 5 &ndash; iSCSI Multipathing, Host Bus Adapters, High Availability and Redundancy
  14. 柯朗微积分与数学分析习题选解(1.1 节 a)
  15. php5.2以下版本无json_decode函数的解决办法
  16. 第十九课 golang中的下划线
  17. Myeclipse编辑jsp文件很卡是什么原因?
  18. pytorch rnn 2
  19. iOS:iOS中的几种动画
  20. c语言描述的直接插入排序法

热门文章

  1. Vue中的父子传值问题
  2. CF思维联系–CodeForces-217C C. Formurosa(这题鸽了)
  3. RobotFrameWork 自动化环境搭建(基于 python3.6)
  4. .NET Core 反编译dll源码查看
  5. docker overlay network
  6. 进程间通信之socketpair
  7. qt creator源码全方面分析(4-2)
  8. System类&amp;StringBuilder类
  9. [C#]基础——注意事项
  10. Java实现栈(链表和线性表两种方法实现)