跟我学SpringBoot之HelloWorld

本文介绍了SpringBoot的核心理念和主要特性,包括自动配置、内置服务器和starter依赖。通过一个简单的HelloWorld示例,展示了SpringBoot如何快速构建应用,并提供了将项目打包为jar运行的方法。此外,还分享了配置国内maven仓库以加速依赖下载的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只需低头努力,剩下的交给时光,时间会公平地帮你处理一切

概述

提到Spring框架,相信只要是学过Java的都很熟悉,那SpringBoot是个什么框架呢?

我们学习一个框架首先需要搞清楚这个框架是做什么的?为了解决什么问题?

SpringBoot是什么?

Spring Boot可以很容易地创建独立的、基于Spring的生产级应用程序,致力于以“最少的配置”来完成应用的开发

从字面上理解,就是SpringBoot的使命就是减少配置,让开发变得更高效

为了解决什么问题?

在Spring时代,我们需要开发一个功能或者使用第三方的组件,都需要进行一系列的配置,才能完成组件最基础功能的开发

SpringBoot的到来,简化了开发过程中配置,让应用以更少的配置来完成功能的运行。

其实从根本上讲SpringBoot并没有减少配置,只是把一些约定俗成的配置变成了自动配置,

SpringBoot会根据依赖的Jar来“猜测”你可能需要用到的功能,从而加载应用的默认配置,

让你在使用第三方的组件时可以用很少的配置来完成基本的功能

SpringBoot相比Spring有什么新特性
  • SpringBoot直接内嵌Tomcat、Jetty等应用服务器,你开发的应用直接运行,不用打成war包,这应该是对SpringBoot最直观的印象
  • SpringBoot提供了很多"Starter"依赖包用来简化配置,比如redis、rabbitmq等中间件都有现成的"Starter",引入时可以以很少的配置来完成基本的功能
  • 尽可能的自动配置Spring和引入的第三方库
  • SpringBoot提供了生产环境的监控、运行状态检查以及外部化配置

以上是我认为SpringBoot最重要的几个特性,这些特性能让我们的应用看起来更简洁,使研发人员更专注于业务功能的实现。

第一个SpringBoot程序:HelloWorld

也不知道是从什么时候开始的,不管学习什么编程语言,大家都习惯从HelloWorld开始,HelloWorld是一切学习的开端。下面我们就用SpringBoot来构建一个最简单的HelloWorld应用程序

环境说明:

  • JDK1.8
  • SpringBoot2.4.3
  • gradle4.4
1、创建一个gradle项目,并引入依赖
    compile 'org.springframework.boot:spring-boot-starter-parent:2.4.3'
    compile 'org.springframework.boot:spring-boot-starter-web:2.4.3'

引入依赖后,默认会从maven中央仓库拉取依赖项,慢到你怀疑人生!!!

这里建议使用国内的maven私服,比如阿里云的maven私服,需要在gradle配置里面新增配置

allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        mavenLocal()
        mavenCentral()
    }
}
2、写一个HelloWorld类
@RestController
@EnableAutoConfiguration
public class HelloWorld {

    @RequestMapping("/hello")
    String index(){
        return "hello world";
    }

    public static void main(String[] args){
        SpringApplication.run(HelloWorld.class,args);
    }

}

这里使用到了几个注解,@RestController和@RequestMapping是SpringMVC中的注解,只要是做过SpringMVC开发的同学肯定很熟悉这两个注解,@RestController用来标记Controller,@RequestMapping用来声明一个Http接口

@EnableAutoConfiguration注解是SpringBoot中的,该注解会根据你添加的依赖jar包来“猜测”你希望如何配置Spring

举个例子,你某天出门上班,看到别人带了雨伞,你立马意识到可能是要下雨了

这里SpringBoot也是一样,看到你的依赖项里面有某个组件,就会帮你做好自动配置

上面例子中依赖的web,SpringBoot会识别出来自动完成web相关的配置

3、运行程序
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.3)
 

2021-02-22 20:13:46.544  INFO 11344 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-02-22 20:13:47.069  INFO 11344 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-02-22 20:13:47.089  INFO 11344 --- [           main] c.gzb.springboot.helloworld.HelloWorld   : Started HelloWorld in 4.994 seconds (JVM running for 8.934)

如果看到如上的信息,说明你的项目已经启动成功了,访问http://localhost:8080/hello可以在网页上显示出来

hello world

至此一个SpringBoot版的HelloWorld就完成了,可以看到自始至终你只做了两件事:加入依赖、写Java代码。

完全没有写一行配置,SpringBoot帮你完成了自动配置,让你专注于功能开发

把项目打成jar包运行

使用gradle把项目打成jar包,可以直接以jar包的形式启动应用

在项目中引入boot插件

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.0.0.RELEASE'
}

增加打包配置,指定mainClassName

bootJar {
    mainClassName = 'com.gzb.springboot.helloworld.HelloWorld'
}

运行 gradle build 在项目根目录下会生成一个build目录,在build/lib目录下就会生成项目的jar包

直接运行 java -jar springBoot-demo-1.0-SNAPSHOT.jar即可启动应用

源码已上传至https://github.com/pzjtian/springboot-demo,请持续关注~

如果感觉对你有些帮忙,请收藏好,你的关注和点赞是对我最大的鼓励!
如果想跟我一起学习,坚信技术改变世界,请关注【Java天堂】公众号,我会定期分享自己的学习成果,第一时间推送给您

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值