SpringBoot 学习笔记 -- [了解SpringBoot的基础知识,快速上手搭建一个简单案例]

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 学习笔记 -- [了解SpringBoot的基础知识,快速上手搭建一个简单案例]相关的知识,希望对你有一定的参考价值。

回顾与情景引入

之前学习的话都比较集中于采用单体式的架构,前几天和朋友们一块写的一个小demo;前后端代码都在一块放置,前端改动也得重启服务器,并且本地只能开一个服务器使用;

像这种单体式模式的话,要是访问量过大;一上去,这出点问题就得崩掉;

若是换成后面的集群式部署,给用户提供多个访问的服务器;这样的话,对于大量的访问用户,也能缓解一些问题;但是,若出了问题的话,维护起来也不是很方便; 由于前端代码与后端代码都部署在一块,维护起来可能会出现问题;

那么,把前后端分离开,对于固定的前端拆分出来;提供多个访问的后端逻辑代码服务器;这样还是比较精妙的;


回顾一下,这段时间学习到的知识;

  • 后端方面的话;
    • 工具: maven(管理项目中应用的工具包) ; git(团队协同开发工具)
    • 架构:ssm (spring springMVC mybatis)
    • 数据库 mysql
    • 服务器 tomcat
    • 文件上传,使用MD5密码加密,CKeditor组件与CKFinder搭配的编辑功能实现,以及echarts数据统计图形报表组件的使用
  • 前端方面: 主要还是使用之前学习的 html css js jquery ajax 进行组合使用;还有用到bootstarp开源框架的模态框组件优化弹窗效果;

回顾一下Spring框架的知识

Spring框架是2003年兴起的 一种轻量级的,非侵入式的 ; IOC(控制反转)与AOP(面向切面编程);的一站式开源的Java开发框架;主要是为简化企业的应用开发而生.

  • 控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性,实现了软件各层之间的解耦。
  • 面向切面(AOP),实现拦截,比如说进行事务控制…
  • spring目前对于主流的应用框架提供支持,具有自己的MVC架构实现->springMVC.

那么,学过spring的都知道,spring虽然减轻了一大部分代码;但是配置方面的话还是加量了;比如说,就连用注解都得去提前在配置文件里面声明一下;可谓是 轻量级的组件代码,重量级的配置;
仍然需要编写大量的 模板化配置文件

还有一方面,虽然说已经学了用maven进行管理工具包,但是这些依赖包的管理也不是说就导入就行了;
需要分析要导入大量库的坐标,而且还需要分析导入与之有关依赖,一旦选错依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

那么接下来,将会学习spring家族的另一位 “选手”;

初探SpringBoot

Spring Boot是由Pivotal团队提供的在spring框架基础之上开发的框架,
设计目的就是用来简化应用的初始搭建以及开发过程。

学了Spring Boot 就会发现;它会对spring的缺点进行的改善和优化,
基于约定大于配置.可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率。它集成了大量常用的第三方库配置(例如Redis,Jpa RabbitMQ,Quartz等等),Spring Boot应用中这些第三方库几乎可达到零配置的开箱即用,通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。

Spirng Boot本身并不提供Spring框架的核心特性以及扩展功能,
仅用于快速、敏捷地开发新一代基于Spring框架的应用程序。
可以说是springboot就是spring的"左膀右臂好管家"

核心功能

  • 起步依赖
  • 自动配置

比如说,你想用web方面的jar工具包,那么可能只需要一个依赖,在它里面已经提前打包集成了大量的相关依赖;
而且这个自动配置方面也非常的人性化;比如说你要用注解,直接用就行,不用配置声明;
还有更多的默认自动配置;你要是觉得它默认的自动配置不好用,完全可以自己更换配置;也就是说这个启动的时候会首先看看你配置类没有,没有配置它就跑去用自己的默认配置了.

springboot 的特点

  • 可用于创建独立的spring应用程序
  • 直接内嵌tomcat、jetty和undertow,默认的话就是tomcat
  • 提供了固定化的“starter”配置,以简化构建配置,点击即用
  • 集成了大量的自动配置spring和第三方库
  • 提供产品级的功能(例如:安全指标、运行状况监测和外部化配置)
  • 放心,绝对不会生成代码,且不需要进行XML配置

快速上手搭建一个简单案例

无论是通过访问官网 https://start.spring.io/

还是在IDEA提供的搭建入口都行;

比如我这里就搭建好了

顺便写个简单的控制类

package com.xiaozhi.backserver.startspringboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author by @CSDN 小智RE0
 * @date 2021-12-23
 */
@RestController
@RequestMapping(value = "/hello")
public class UserController 

    @RequestMapping("/test")
    public String test()
        System.out.println("访问--->");
        return "hello world!!";
    

可注意到他这里已经自动配置了tomcat

可以勾选这个支持多服务器;

启动这个类即可

在浏览器访问http://127.0.0.1:8080/hello/test

application.properties中配置访问的端口server.port= 5277

再次启动主程序

浏览器访问http://127.0.0.1:5277/hello/test

唉,为啥不开注解声明,他也就自动启动了呢
在主程序看到注解@SpringBootApplication了没;点进去

之前的话,害得需要在配置文件声明开启注解呢

当然,要是觉得启动图标不好看,还可以换图标哦
戳链接–> springboot启动图标即可;

找到需要的图标,或者自定义也可以;下载后;

文件放置到resources目录下即可;

			       |`-.._____..-'|
			       :  > .  ,  <  :
			       `./ __`' __ \\,'
			        | (|_) (|_) |
			        ; _  .  __  :
			        `.,' - `-. ,'
			          `, `_  .'
			          /       \\
			         /         :
			        :          |_
			       ,|  .    .  | \\
			      : :   \\   |  |  :
			      |  \\   :`-;  ;  |
			      :   :  | /  /   ;
			       :-.'  ;'  / _,'`------.
			       `'`''-`'''-'-''--.---  )
			                            `----'

以上是关于SpringBoot 学习笔记 -- [了解SpringBoot的基础知识,快速上手搭建一个简单案例]的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot核心注解应用

springboot 学习笔记

B站学习springboot笔记

SpringBoot学习笔记5

Springboot学习笔记2:springboot项目运行自动装配原理

初识SpringMVC