前言

Spring框架的大名想必大家早已如雷贯耳,我们来看一下springboot诞生的初衷,以及它在springframe的基础上解决了哪些痛点。

很久以前,J2EE还是java企业级应用的标准规范之时,spring以其轻量级开发的理念顺势杀出,一路势如破竹,逐渐取代J2EE成为王者。但随着人们对spring深入使用,其中的弊端也逐渐显现出来,其中最典型的便是——配置地狱。

springboot诞生于spring后续的迭代版本,为了解决spring原框架中的一系列痛点,首次提出了“约定大于配置”的理念,以大量的默认配置、注解机制以及内嵌web服务等方式,巧妙且极大的简化了spring配置负担,并且通过统一的starters标准,配合maven实现了三方模块的极简化集成。

SpringBoot是一次真正意义上的现代化java编程思想,在其后端微服务领域的核心体现。

本节我们先来初窥一二,看看如何快速完成基于springboot的基础项目搭建。

首先ide选择IntelliJ IDEA,最好用的java开发环境没有之二,谁用谁知道哈 ^_^

大家可以到官网下载免费社区版,除了不能定制,基本功能完全够用

https://www.jetbrains.com/zh-cn/idea/download/#section=windows

1. 新建工程

我们选择新建工程(file – new project),选择Spring Initializr,如图:

这里首先是选择springboot初始化工具,图中的https://start.spring.io是官方提供的,此外官方也允许第三方服务的个性化定制,比如我常用的是阿里云提供的服务。

点击next.

2. 工程命名并选择依赖库

我们给工程命名为hellospringboot,Java版本我用了默认的java8,其他各项直接默认即可,如图点击next

接下来是依赖库的选择

这里足可以体现出springboot的强大之处,各种依赖库应有尽有,web开发、前端模板、关系型数据库、非关系型数据库、以及后续我们会涉及的微服务等相关组件都放在那里,你只需要根据项目需要勾选即可将其功能完整的整合进来。

我们先只选择一项web开发,别担心,后续有其他需求我们可以随时编写maven完成功能整合,点击next继续。

3. 完成工程构建

选择工程路径,点击finish即可完成springboot基础工程的构建。

构建完毕后的工程如图所示

其中HellospringbootApplication.java是入口文件,pom.xml是maven的工程配置文件,详细描述了整个工程的依赖关系,我们可以双击打开看其中的内容

dependencies是工程依赖的三方库清单,其中的spring-boot-starter-web对应我们先前勾选的web开发依赖项

4. 修改配置文件

我们双击打开resources下的application.properties文件,可以看到当前的工程配置信息:

# 应用名称
spring.application.name=hellospringboot
# 应用服务 WEB 访问端口
server.port=8080

可以看到springboot工程的配置形式非常简洁明了。

这里目前只有应用名称和访问端口两项配置,端口默认为8080,我们可以按需改为80或者其他端口配置。

后续随着我们逐步引入其他三方库,会继续在这个文件下逐步添加其他相关配置。

其实到这里,整个工程就可以执行了。

我们执行工程,然后浏览器访问 localhost:8080 看效果

这是因为我们尚未完成springboot相关的路由映射

5. 新增controller,并实现简单的业务逻辑

我们新建controller包,并创建MainController,如下图所示

编写相关代码:

package com.example.hellospringboot.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@RequestMapping("/")
public class MainController { @GetMapping("/")
public String index(){
return "hello Spring Boot !!!";
}
}

这里我们用到了一些常用的注解,后续我会给大家逐个阐述其相关含义及作用。

我们重新打开浏览器访问localhost:8080,便会看到如下字样:

到此我们便完成了一个基础springboot项目构建的全过程,同时也对springboot有了一个大致概念上的认知。

本节就到这里,下一节给大家讲述如何 使用springboot快速实现简单的web开发,敬请期待 ^_^

从SpringBoot到SpringCloudAlibaba简明教程(一):初识SpringBoot及其基础项目构建的更多相关文章

  1. ArcGIS Pro 简明教程(4)工具和模型构建器

    ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...

  2. Android Studio 入门级教程(三):gradle项目构建

    声明 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4456420.html [系列] Andr ...

  3. 简明教程 | Docker篇 · 其一:基础入门

    了解Docker Docker是什么 Docker是指容器化技术,用于支持创建和使用 Linux 容器,同时Docker也是软件容器平台. 什么是容器(container) 容器是主机上与其他进程隔离 ...

  4. 2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba

    咱们接上回 2流高手速成记(之五):Springboot整合Shiro实现安全管理 - 14号程序员 - 博客园 (cnblogs.com) 身边常有朋友说:小项目用PHP.大项目用Java(这里绝无 ...

  5. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  6. SpringBoot:初识SpringBoot

    西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! 1.SpringBo ...

  7. 初识springboot(傻瓜式教程)

    初识springboot(傻瓜式教程) 项目所需的版本 IDEA 2018 maven 3.x jdk-1.8 IDEA创建spring-boot项目(maven方法) 1.创建一个maven工程 点 ...

  8. 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)

    小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...

  9. 2013 duilib入门简明教程 -- 部分bug (11)

     一.WindowImplBase的bug     在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,     1.最大化按钮的样式 ...

随机推荐

  1. MySQL数据库授权与索引

    MySQL数据库授权与索引 目录 MySQL数据库授权与索引 一.数据库用户授权 1. 授予权限 2. 查看权限 3. 删除权限 4. 全部权限(all privileges) 二.MySQL索引 1 ...

  2. PyTorch深度学习入门笔记(一)PyTorch环境配置及安装

    @ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...

  3. Fiddler监听Https请求响应

    Fiddler问题 - creation of the root certificate was not successful 解决办法: http://localhost:8888/    安装证书 ...

  4. find+grep+正则表达式

    目录 find+grep+正则表达式 1.find 2.grep 3.正则表达式 find+grep+正则表达式 1.find 根据文件的名称或者属性查找文件. # 自己在 /root/adc目录下长 ...

  5. git推送项目到github并使用gitee做镜像仓库

    2022最新版github入门教程,教你如何一步步创建自己的github账号并初始化仓库,然后使用git工具配置个人工作环境.配合gitee仓库,作为github的镜像仓库使用.这篇文章很基础,对萌新 ...

  6. Solution -「多校联训」轮回

    \(\mathcal{Description}\)   有 \(n\) 个黑盒,第 \(i\) 个黑盒可以让输入变量以 \(p_i\) 的概率保持不变,以 \(\frac{1-p_i}2\) 的概率加 ...

  7. c++编译加执行脚本

    python 脚本 1 #! /usr/bin/python 2 3 import os 4 5 msg = os.popen("g++ test.cpp").read(); 6 ...

  8. 菜鸟到大神之多图预警——从 RAID 到分布式系统中的副本分布

    我们知道,在面对大规模数据的计算和存储时,有两种处理思路: 垂直扩展(scale up):通过升级单机的硬件,如 CPU.内存.磁盘等,提高计算机的处理能力. 水平扩展(scale out):通过添加 ...

  9. 【基础篇】js对本地文件增删改查--增

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  10. 【C# 线程】内存屏障 MemoryBarrier

    背景 同步基元分为用户模式和内核模式 用户模式:Iterlocked.Exchange(互锁).SpinLocked(自旋锁).易变构造(volatile关键字.volatile类.Thread.Vo ...