前言

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. Pollard's rho algorithm和涉及到的两个循环检测算法

    0. 简单介绍 Pollard的\(\rho\)算法是John Pollard在1975年发明的,用于分解质因数[1].假定被分解的数为N,N的最小的质因数为\(p(p\ne N)\),那么该算法可以 ...

  2. JavaEE复制后项目出错或者无法运行的解决方法

    eclipse中,直接复制项目,会出现一些错误,解决方法如下: 1,在复制后的工程上点右键->properties->Web Project Settings>web context ...

  3. traceback.print_exc()的用法

    Python使用traceback.print_exc()来代替print e 来输出详细的异常信息   [python] view plain copy try: 1/0 except Except ...

  4. 基于Oracle数据库登陆界面及功能实现 Java版

    首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...

  5. Netty核心原理

    Netty核心原理 1. Netty介绍 1.1 原生NIO存在的问题 NIO的类库和API使用繁杂 需要具备其他额外的技能,如java多线程编程等才能编写出高质量的NIO程序 开发工作量和难度都非常 ...

  6. IDEA使用JDBC链接MySql(java编程)

    1.在Maven的pom.xml文件中引入MySql的驱动 <dependency> <groupId>mysql</groupId> <artifactId ...

  7. 从零开始,开发一个 Web Office 套件(5):Mouse hover over text

    <从零开始, 开发一个 Web Office 套件>系列博客目录 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office ...

  8. 音视频开发者的福音,快速集成AI配音能力

    音视频内容创作者对剪辑应用中的AI配音需求与日俱增.它的优点很多,不光可以解决雇佣人力配音的成本以及创作者本身的口音.语言等限制,还可以大幅提升生产效率.比如,短视频的播放时间短的几十秒,长的vlog ...

  9. 记一次payload绕过电脑管家免杀

    一.msf命令提示符下generate命令生成1.首先可以使用show payloads命令查看所有的payload,然后使用use命令选中其中一个. 2.使用generate -h查看命令帮助 ge ...

  10. 哪些BI分析商业智能平台是最受欢迎的?

    近些年来,AI推动的云生态系统已非常成熟.智能.增强的预测和决策工具处于这样一个阶段:准备好部署到企业中从董事会到车间的各个地方.挑战在于确保贵企业已准备好使用它们.因此,下面介绍了眼下最出色.最受欢 ...