SpringBoot入门系列(一)如何快速创建SpringBoot项目
这段时间也没什么事情,所以就重新学习整理了Spring Boot的相关内容。今天开始整理更新Spring Boot学习笔记,感兴趣的朋友可以关注我的博客:https://www.cnblogs.com/zhangweizhong/category/1657780.html,希望能对你有所帮助。
注意:为了让大家更快的入门学习,我后面整理的文章都是基于SpringBoot 2.2版本。这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码 获取这个系列课程的完整源码。或者点此链接直接下载完整源码
下面就简单介绍下Spring Boot,然后创建SpringBoot项目。
什么是 Spring Boot?
Spring Boot设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,是为了让开发人员尽可能快的创建并允许Spring 应用程序,尽可能减少项目的配置文件。
从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置)的理念让你的项目快速运行起来。所以 spring boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架。
总结起来就是:
(1)为所有 Spring 开发提供一个更快更广泛的入门体验。
(2)零配置。无冗余代码生成和XML 强制配置,遵循“约定大于配置” 。
(3)集成了大量常用的第三方库的配置, Spring Boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。
(4)提供一系列大型项目常用的非功能性特征,如嵌入式服务器、安全性、度量、运行状况检查、外部化配置等。
(5)Spring Boot 不是Spring 的替代者,Spring 框架是通过 IOC 机制来管理 Bean 的。Spring Boot 依赖 Spring 框架来管理对象的依赖。Spring Boot 并不是Spring 的精简版本,而是为使用 Spring 做好各种产品级准备。
环境准备
(1)JDK 环境必须是 1.8 及以上。
(2)开发工具建议使用 IDEA,也可以 Eclipse。我这边一直都是
用 idea 快速搭建 Spring Boot
创建一个新SpringBoot应用程序的方式有多种:
1、使用IDEA内置的Spring Initializr创建(File -> New -> Project -> Spring Initializr)
2、创建基础Maven项目,修改pom.xml添加spring-boot-parent
3、访问 https://start.spring.io 选择依赖后,生成项目并下载,导入到Idea即可。
一般我们是使用第一种,用IDEA直接新建项目,下面我们就一步一步讲解如何创建Spring Boot项目。
第一步:新建 Spring Initializr 项目:
(1)选择 Spring Initializr
(2)选择 SDK,点击【new】这里就是使用 JDK 要求版本 1.8+,选择你安装的JDK目录:
(3)然后选择默认的 url (不用管)点击【Next】:

(4)然后填写一下项目的信息:

(5)先勾选上 Web 依赖:
(6)根据自己的项目选择相关的依赖,也可以不选,后面需要的时候再加上:

(7)选择好项目的位置,点击【Finish】:

(8)如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包。默认创建好的项目结构如下:

上图可以看到,整个项目结构还是看上去很简单没有太多的配置文件,SpringBoot不需要太多配置文件,我们来了解一下默认生成的有什么:
SpringbootApplication: 带有 main() 方法的类,用于启动应用程序。
application.properties:整个应用程序的配置文件,默认是空的 properties 文件,配置应用程序的端口号,程序名等属性,后面我们会一一讲到。
pom.xml: 包依赖文件。
第二步:创建控制器Controller
没有控制器,项目运行起来是看不出效果的,下面我们创建一个控制器,验证下项目创建成功了没有。
在 【src/main/java/com.weiz.controller】包下新建一个【HelloController】:
package com.weiz.controller; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController { @RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot!";
}
}
@RestController:为Spring Boot 封装的Rest接口的Controller。
@RequestMapping:和SpringCloud 一样。
第三步:启动 Spring Boot
(1)我们回到 SpringbootApplication 这个类中,然后右键点击运行:

(2)IDEA 不需要在项目中没有手动配置 Tomcat 服务器,因为 Spring Boot 内置了 Tomcat。
项目成功运行的提示信息可以看到我们的程序 运行在 8080 端口。

(3)访问http://localhost:8080/hello/index 地址:

最后
以上,就把如何创建运行Spring Boot项目简单的介绍完了,后面会深入介绍Spring Boot的各个功能和用法。
这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码。获取这个系列课程的完整源码。

SpringBoot入门系列(一)如何快速创建SpringBoot项目的更多相关文章
- springboot入门系列(五):SpringBoot连接多RabbitMQ源
SpringBoot连接多RabbitMQ源 在实际开发中,很多场景需要异步处理,这时就需要用到RabbitMQ,而且随着场景的增多程序可能需要连接多个RabbitMQ.SpringBoot本身提供了 ...
- springboot入门系列(二):SpringBoot整合Swagger
上一篇<简单搭建SpringBoot项目>讲了简单的搭建SpringBoot 项目,而 SpringBoot 和 Swagger-ui 搭配在持续交付的前后端开发中意义重大,Swagger ...
- springboot入门系列(四):SpringBoot和Mybatis配置多数据源连接多个数据库
SpringBoot和Mybatis配置多数据源连接多个数据库 目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑.在SpringBo ...
- springboot入门系列(三):SpringBoot教程之RabbitMQ示例
SpringBoot教程之RabbitMQ示例 SpringBoot框架已经提供了RabbitMQ的使用jar包,开发人员在使用RabbitMQ的时候只需要引用jar包简单的配置一下就可以使用Rabb ...
- SrpingBoot入门到入坟03-基于idea快速创建SpringBoot应用
先前先创建Maven项目然后依照官方文档再然后编写主程序写业务逻辑代码才建立好SpringBoot项目,这样太过麻烦,IDE都支持快速创建,下面基于idea: 使用Spring Initializer ...
- 【SpringBoot学习一】开发入门--快速创建springboot程序
前言 本片博客记录快速创建springboot工程的两种方式.一种是使用maven创建,一种是使用spring initializr创建.开发环境JDK1.8.IDEA.maven. SpringBo ...
- SpringBoot入门系列(十二)统一日志收集
前面介绍了Spring Boot 异常处理,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html. 今 ...
- SpringBoot入门系列(十一)统一异常处理的实现
前面介绍了Spring Boot 如何整合定时任务已经Spring Boot 如何创建异步任务和定时任务.不清楚的朋友可以看看之前的文章:<Spring Boot 入门系列文章> 接下来主 ...
- springboot入门(一)--快速搭建一个springboot框架
原文出处 前言在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架 ...
- 2springboot:快速创建springboot项目
使用IDEA快速创建springboot项目流程: 创建新的项目选择 项目的命名以及包名 需要什么包就导入什么包 进行测试的单元 <dependency> <groupId>o ...
随机推荐
- Android之布局RelativeLayout
线性布局的weight属性在等比例分配时比较方便,但是对复杂的界面,嵌套多层LinearLayout布局会导致渲染变慢,占用更多系统资源:而使用RelativeLayout的话,可能仅仅需要一层就可以 ...
- [SDOI2015]道路修建(线段树)
题意:给定2行n列的四连通带权网格图,支持修改边权和查询第[l,r]列的最小生成树 题解:这是一道好题,要么SDOI2019中n=2的20pts怎么会“我抄我自己”?(当然NOIP2018“我抄我自己 ...
- 【网络流】One-Way Roads
[网络流]One-Way Roads 题目描述 In the country of Via, the cities are connected by roads that can be used in ...
- Angular开发者指南(三)数据绑定
数据绑定 AngularJS应用程序中的数据绑定是模型和视图组件之间的数据的自动同步. AngularJS实现数据绑定的方式可以将模型视为应用程序中的单一来源. 视图是模型在任何时候的投影. 当模型更 ...
- js获取当前页面名称
// 取当前页面名称(不带后缀名) function pageName() { var a = location.href; var b = a.split("/"); var c ...
- 2018-1 WebStorm最新版本破解激活方法
在激活页面选择License Server,输入:http://idea.codebeta.cn,点击Activate即可激活. 如果失效用这个: http://idea.ibdyr.com
- cas sso单点登录 登录过程和登出过程原理说明
CAS大体原理我就不说了,网上一大把,不过具体交互流程没说清楚,所以有这篇文章,如果有错误,请多多指教 登录过程 用户第一次访问一个CAS 服务的客户web 应用时(访问URL :http://192 ...
- linux配置和查看环境变量
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等. 一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要 ...
- 计算 $s=1+(1+2)+(1+2+3)+\cdots+(1+2+3+\cdots+n)$
#include<stdio.h> //编写一个程序,计算 s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n) 的值,要求n从键盘输入. main() { int i, ...
- android形状属性、锁屏密码、动态模糊、kotlin项目、抖音动画、记账app、视频播放器等源码
Android精选源码 直观了解Android的"形状"属性如何影响Drawable的外观. 一个灵活的视频播放器, 可替换播放器内核. android锁屏输入密码功能源码 背景动 ...