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

今天就先从 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. Docker-maven-plugin + Dockerfile + Arthas实现应用诊断

    一.前言 我们的微服务响应生产环境出现一个功能响应时间过慢,对Prometheus监控 Http Request进行分析发下该功能调用的后端接口响应时间平均在30秒以上,分析源码接口有mysql查询. ...

  2. windows安装redis扩展

    Thread Safety enabled 打开phpinfo() 看php版本是ts还是nts,  如上是ts版本的,所以需要安装redis的ts版本, redis的扩展下载地址 https://p ...

  3. 25. K 个一组翻转链表

    给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表.k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序.示例 :给定这个链表: ...

  4. JavaSE 学习笔记01丨开发前言与环境搭建、基础语法

    本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...

  5. 2017年第八届蓝桥杯【C++省赛B组】B、C、D、H 题解

    可能因为我使用暴力思维比较少,这场感觉难度不低. B. 等差素数列 #暴力 #枚举 题意 类似:\(7,37,67,97,127,157\) 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列 ...

  6. Java基础教程——Socket编程

    Socket通常也称作"套接字",用于描述IP地址和端口,可以用来实现不同虚拟机或不同计算机之间的通信. --百度百科 套接字允许应用程序插入到网络中,并与插入到网络中的其他应用程 ...

  7. LaTeX中的特殊字符

    空白符号代码及注释: 显示效果: 控制符.排版符号.标志符号.引号.连字符.非英文字符和重音符号的代码及注释: 显示效果:

  8. 流量控制--6.Classful Queuing Disciplines (qdiscs)

    Classful Queuing Disciplines 可以使用classful qdisc的代理来解锁Linux流量控制的灵活性和控制力.classful qdisc可以附加过滤器,允许将报文重定 ...

  9. 《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜

    <Machine Learning in Action>-- 白话贝叶斯,"恰瓜群众"应该恰好瓜还是恰坏瓜 概率论,可以说是在机器学习当中扮演了一个非常重要的角色了.T ...

  10. bypass disable_function

    windows 1.com组件绕过 <?php$command=$_POST['a'];$wsh = new COM('WScript.shell'); // 生成一个COM对象 Shell.A ...