写在前面的话: 在很早之前,记笔记时候,我就一直在思考一个问题,我记笔记是为了什么,我一直想不明白 ,后面发现技术跟新迭代的速度实在太快了,笔记刚纪完,技术又跟新了,于是我想了想干脆边写博客,边记笔记,这样一有新内容更新,我立马就修改博客内容,于是,就开始了写博客的计划

今天就先从 SpringBoot开始

  • 环境准备

  • (1)JDK 环境必须是 1.8 及以上,传送门:jdk1.8.191 下载
  • (2)后面要使用到 Maven 管理工具 3.2.5 及以上版本,所以会先介绍 Maven 的安装与配置
  • 开发工具 IDEA & Eclipse

何为 spring boot?

我们来看下百科怎么说的

上面的话,简单点说就是 将我们之前的Spring 配置变得更加简单了 ,听名字就知道 Boot 是引导的意思 ,引导我们创建配置 ,SpringBoot 将我们之前的 需要自己配置的东西,全部整合了进来,引导我们去开发Spring 项目

Spring官方对Spring Boot的定位是Build Anything,意思就是Spring Boot可以构建任何东西。

还有更高级的Spring Cloud和Spring Cloud Data Flow。

Spring Cloud的定位是Coordinate Anything (协调任何东西)

Spring Cloud Data Flow的定位是Connect Everything (连接任何东西)

优点和缺点

从下面的话可以看出 SpringBoot的优缺点,

优点 :

  1. Spring Boot使编码变简单

  2. Spring Boot使配置变简单

  3. Spring Boot使部署变简单

  4. Spring Boot使监控变简单

缺点 :

  1. 依赖太多,一个spring boot项目就有很多Maven 依赖

  2. 缺少服务的注册和发现等解决方案

  3. 缺少监控集成方案,安全管理方案

快速构建 : 创建SpringBoot的2种方式

maven构建项目

  1. 进入SpringBoot 项目构建网站 https://start.spring.io/ (如下);

  • 选择对应的工具、语言、版本、相关信息、依赖等,按住 alt + Enter 下载,然后解压,导入IDE。

IDEA构建项目

个人推荐使用 idea 构建, 方便,简洁,我这里的版本是2018.3.3 ,你们随意

默认也是去 我们上一步的界面 SpringBoot官网

点击next

输入我们项目的基本信息

选择我们项目的基本依赖

项目的结构说明



如上图所示,Spring Boot项目的基础结构共三个文件:

  • src/main/java 程序开发以及主程序入口

  • src/main/resources 配置文件

  • src/test/java 测试程序

  • DemoApplication 类是程序入口

  • application.properties 是程序配置文件

  • src/main/resources/static 是静态资源文件放置路径;

  • src/main/resources/template 是使用模板引擎时放置的 .html 静态页面。还有其他的一些路径

Hello World

程序员的基本功 课一般都是 Hello Word! ,下面我们演示 SpringBoot 版的 Hello Word! 。老规矩,还是 Controller

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody; /**
* Created by 追梦1819 on 2019-05-06.
*/
@Controller
public class HelloWordController {
@ResponseBody
@GetMapping("/helloWord")
public String helloWord(){
return "Hello Word,SpringBoot!";
}
}

注意两点:

@GetMapping("/helloWord")等价于 @RequestMapping(value = "/helloWord",method = RequestMethod.GET)

加上 @ResponseBody 后,就直接返回json 字符串

程序默认的端口号是 8080,可以通过 application.properties 配置文件的 server.port= 进行修改。

以上程序通过 postman 测试结果是:

这只是一个开始 SpringBoot ,接下来我会慢慢带大家走进SpringBoot的体系

SpringBoot从入门到精通教程(一)的更多相关文章

  1. SpringBoot从入门到精通教程(二)

    SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...

  2. SpringBoot从入门到精通教程(七)

    今天,我们继续讲SpringBoot整合Redis ,也就缓存,它将与我们的Springboot整合 Redis 简介 Redis 是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语 ...

  3. SpringBoot从入门到精通教程(六)

    之前学了,这么多东西 thyemeaf .MyBatis 还有 配置文件等等,今天我们就来做一个小案例 CRUD,程序员的必备 项目结构 pom.xml <!-- mybatis 相关依赖 -- ...

  4. SpringBoot从入门到精通教程(三)

    在上一篇中,我们已经讲了,SpringBoot 如何构建项目,和SpringBoot的HelloWorld, 那这一节我们继续讲 Thymeleaf Thymeleaf 官网: Thymeleaf T ...

  5. SpringBoot从入门到精通教程(八)

    本主要介绍ElasticSearch 和 SpringBoot 的整合 ,对您有帮助的话,点个关注哦 ElastSearch 介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供 ...

  6. SpringBoot从入门到精通教程(五)

    上节,我们讲了 SpringBoot 如何使用MyBatis 今天我们讲讲 Springboot Logo自定义的问题, 我们在启动 SpringBoot 时,控制台会打印 SpringBoot Lo ...

  7. SpringBoot从入门到精通教程(四)

    前端时间整合SSM ,发现了一个现象,在整合的时候 配置文件过于复杂. 1.建工程,建目录,导入jar包. 2.配置 数据源 映射信息 等等 ... 3. 还有 各种 拦截器,控制器 ,头都大了... ...

  8. 深入浅出!springboot从入门到精通,实战开发全套教程!

    前言 之前一直有粉丝想让我出一套springboot实战开发的教程,我这边总结了很久资料和经验,在最近总算把这套教程的大纲和内容初步总结完毕了,这份教程从springboot的入门到精通全部涵盖在内, ...

  9. 学习Oracle数据库入门到精通教程资料合集

    任何大型信息系统,都需要有数据库管理系统作为支撑.其中,Oracle以其卓越的性能获得了广泛的应用.本合集汇总了学习Oracle数据库从入门到精通的30份教程资料. 资料名称 下载地址 超详细Orac ...

随机推荐

  1. @Async失效之谜

    @Async如何使用 异步的方法上加上@Async异步注解 启动类中需要加上@EnableAsync才有效 使用时类似于下列函数: new Thread(()-> System.out.prin ...

  2. CoProcessFunction实战三部曲之一:基本功能

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. How tomcat works(深入剖析tomcat)(7) Logger

    How tomcat works (7)日志记录器 总体概述 顾名思义,这一章将的是tomcat的日志记录器组件,比较简单,tomcat提供了几种类型不同的日志记录器,但是所有的日志记录器都需要实现L ...

  4. CBV装饰校验的三种方式session

    代码如下: from django.shortcuts import render,HttpResponse,redirect from django.views import View # Crea ...

  5. js实现视频截图,视频批量截图,canvas实现

    截取视频的某一时间的图像并保存 利用canvas的绘画能力画出视频某一帧的视频画面, 获得到图像之后转换成base64图像, 再利用a标签的实现自动保存到本地 html代码 <!DOCTYPE ...

  6. spring + quartz 分布式自定义注解

    相关技术 本文采用spring + quartz的方案.使用mysql作为任务的持久化,支持分布式. 自定义注解 1.启用定时任务 @Target(ElementType.TYPE) @Retenti ...

  7. Mybatis报错invalid comparison: java.util.Date and java.lang.String

    请求参数中两个属性确实都是date类型,数据库也确认是data类型,这个错误是因为 在这里把date类型的参数与单引号做了比较出现的,删除就可以正常运行了.

  8. PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...

  9. 学习tcp和udp

    tcp和udp的差别 tcp和udp是不一样的 tcp是一个可靠的连接,如果发出一个tcp请求,那么就一定要回复一个请求 而udp是不需要回复的,就像QQ一样,只要发过来就可以了,不管别人在不在线,发 ...

  10. day105:Mofang:设置页面初始化&更新头像/上传头像&设置页面显示用户基本信息

    目录 1.设置页面初始化 2.更新头像 1.点击头像进入更新头像界面 2.更新头像页面初始化 3.更新头像页面CSS样式 4.头像上传来源选择:相册/相机 5.调用api提供的本地接口从相册/相机提取 ...