SpringBoot 项目的创建与启动步骤详解
作者:Java 发布时间:2022-01-23 16:51:17
Spring Boot是什么
众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为“配置地狱”。
为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot。
Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。随着近些年来微服务技术的流行,Spring Boot 也成为了时下炙手可热的技术。
Spring Boot 的特点
Spring Boot 具有以下特点:
1. 独立运行的 Spring 项目
Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。
2. 内嵌 Servlet 容器
Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包
3. 提供 starter 简化 Maven 配置
Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。
4. 提供了大量的自动配置
Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。
5. 自带应用监控
Spring Boot 可以对正在运行的项目提供监控。
6. 无代码生成和 xml 配置
Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。
配置开发环境
在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。工欲善其事,必先利其器,IDE(集成开发环境)的选择相当重要,目前市面上有很多优秀的 IDE 开发工具,例如 IntelliJ IDEA、Spring Tools、Visual Studio Code 和 Eclipse 等等,那么我们该如何选择呢?
这里我们极力推荐大家使用 IntelliJ IDEA,因为相比于与其他 IDE,IntelliJ IDEA 对 Spring Boot 提供了更好的支持。Spring Boot 版本及其环境配置要求如下表
创建 SpringBoot 项目
1、Spring Initializr 创建 SpringBoot 项目
第一步: 打开IDEA,如下图打开 File—>New—>Project ,然后进入下一步。
第二步: 打开Project后,按照下图步骤创建一个 Empty Project 项目,项目名称为 springboot_csdn,然后进入下一步。
第三步: 空项目创建好之后,右击项目名称,新建一个 Module,进入下一步。
第四步: 打开 Spring Initializr,在设置对话框中,Server URL 默认是 start.spring.io,所以用此步骤进行创建 springboot 项目时必须联网。且创建的本质,是将官网创建的步骤以 IDEA 图形化界面的方式创建。
start.spring.io 是国外的一个网站,当运行速度较慢的时候,我们使用国内的阿里云网站:start.aliyun.com。
输入项目的 GroupId、ArtifactId 等内容,注意 Type 为 Maven,packaging 为 jar,Java version 切换为 8(默认为 11),最后点击下方的 Next 按钮,进行下一步;
第五步: 到此界面,其实无需过多更改,可以选择 Spring Boot 2.7.9 的版本。后面项目创建后根据实际情况还能修改,然后点击 Create,一个springboot 项目便创建完成。
注意:如果创建完成后,pom.xml文件不是蓝色的m显示时,右击文件,添加到maven管理,添加后,打开Maven点击更新即可。
2、Maven 创建 SpringBoot 项目
第一种方式创建 SpringBoot 项目的前提是需要在联网的情况下,当没有网的时候,我们就不能用上面的方式来创建 SpringBoot 项目了,这时我们就需要使用 Maven 创建 SpringBoot 项目,此方式创建的前提是本地仓库已经缓存之前创建 SpringBoot 项目所需要的相关依赖。
创建步骤如下:
第一步: 按照之前创建 Maven 的步骤进行创建。
第二步: 返回 IntelliJ IDEA 工作区,会发现 Maven 项目创建完成,其目录结构如图所示。
第三步: 在该 Maven 项目的 pom.xml 中添加以下配置,导入 Spring Boot 相关的依赖
<!--继承springboot的父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
<!--引入web依赖 spring+springmvc-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 项目打jar包必要插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第四步: 在 cn.kgc.springboot包下,创建一个名为 HelloWorldApplication 主程序,用来启动 Spring Boot 应用,代码如下
<!--
注解说明: 该注解是组合注解
@SpringBootConfiguration 用来自动配置spring相关环境 spring+springmvc
@EnableAutoConfiguration 开启自动配置 核心注解
@ComponentScan 组件扫描 只能扫描当前包和子包
-->
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
启动 Spring Boot
默认情况下,Spring Boot 项目会创建一个名为 ***Application 的主程序启动类 ,该类中使用了一个组合注解 @SpringBootApplication,用来开启 Spring Boot 的自动配置,另外该启动类中包含一个 main() 方法,用来启动该项目。直接运行启动类 HelloworldApplication 中的 main() 方法,便可以启动该项目,结果如下图
注意:Spring Boot 内部集成了 Tomcat,不需要人为手动配置 Tomcat,开发者只需要关注具体的业务逻辑即可。
为了能比较的清楚的看到效果,我们在 cn.csdn.springboot 包下又创建一个 controller 包,并在该包内创建一个名为 UserController 的 Controller,代码如下
package cn.kgc.springboot01.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("user")
public class UserController {
@RequestMapping("show")
private String Show(){
System.out.println("springboot01展示了!");
return "springboot01展示了!";
}
}
重启 Spring Boot 项目,然后在地址栏访问 “http://localhost:8080/user/show”,结果如下图
SpringBoot 设置端口号
上面我们项目运行的默认端口号是 8080,如果我们想更改端口号,用如下方式实现即可:
1、如下图,打开 resources 目录下的 application.properties 文件,在文件中添加 “server.port=8888” ,8888即是最新的端口号。
运行效果如下:
2、application.properties 做设置,会增加代码的冗余,因此,我们通常使用 yml 格式的文件进行配置设置;将 application.properties 改为application.yml ,内容修改如下:
server:
port: 9999
运行效果如下:
来源:https://blog.csdn.net/hh867308122/article/details/129707942


猜你喜欢
- 最近在公司的功能需求中,需要实现可以签到的日历,签到后在签到过的日期做标志。本功能参考了网上一些大神的日历控件,在此基础上进行修改,已满足本
- 1. 需求描述有这样一个需求,用ViewPager实现图片滑动,其下方有一个tab,每一个tab的标签对应一组图片,在ViewPager中的
- 我们知道,spring boot自动配置功能可以根据不同情况来决定spring配置应该用哪个,不应该用哪个,举个例子:Spring的Jdbc
- Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)用户线程即运行在前台的线程,而守护线程是运行
- 在内核编程中字符串有两种格式ANSI_STRING与UNICODE_STRING,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐
- 如何将Object类型转换为int类型Object object = null;try{ Integer.pars
- 本文将引导您完成 2 个示例,演示如何在 Flutter 中获取设备标识符使用 platform_device_id如果您只需要运行应用程序
- 该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、T
- 有三种方法如下:三个方法都需要动态申请读写权限否则保存图片到相册也会失败方法一/** * 保存bitmap到本地
- 前端开发工程师和关注前端开发的开发者们在2015年中肯定被腾讯的JSSDk引爆过,搞APP的、搞前端的甚至是是搞后端的都跑过来凑热闹,一时之
- @Param注解导致分页失效—分页 * 问题描述在使用mybatis分页时,使用@Param注解传入了两个对象,分页失效,查询出的总是全部的
- java中实现多线程的方法有两种:继承Thread类和实现runnable接口。1.继承Thread类,重写父类run()方法 public
- 文件创建:File.Create(Application.StartupPath + "\\AlarmSet.txt")
- 1. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状
- 本文实例讲述了Android使用ActionBar和ViewPager切换页面,分享给大家供大家参考。具体如下:运行效果截图如下:项目布局如
- 最近这段时间一直在看Android,利用Listview去实现点赞功能,下面给大家介绍下基本思路。基本思路:进入界面–》获取数据–》 在Li
- 一.介绍门面模式(Facade Pattern)属于结构型模式。门面模式又叫作外观模式,通过给多个复杂的子系统提供一个门面(高层接口),使这
- 北京时间 2018 年 3 月 1 日早上,如约发布的 Spring Boot 2.0 在同步至 Maven 仓库时出现问题,导致在 Git
- 本文主要介绍了c# 使用线程对串口serialPort进行收发数据,分享给大家,具体如下:一共写了四种方法,窗体界面都是一样的:方法一:us
- 最近在工作中处理了一些内存泄露的问题,在这个过程中我尤其发现了一些基本的问题反而忽略导致内存泄露,比如静态变量,cursor关闭,线程,定时