Spring系列之SpringBoot概述及入门

news2024/9/21 14:32:40

SpringBoot入门

文章目录

  • SpringBoot入门
  • 一、SpringBoot是什么?
  • 二、Spring的缺点
    • 1.配置繁琐
    • 2.依赖繁琐
  • 三、SpringBoot功能
  • 四、SpringBoot起步依赖原理
  • 五、SpringBoot快速入门
  • 总结


一、SpringBoot是什么?

SpringBoot是由Pivotal团队提供的全新框架,它提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率。
官网:https://spring.io/projects/spring-boot
在这里插入图片描述

二、Spring的缺点

Spring相比较SpringBoot,有如下缺点

1.配置繁琐

搭建ssm项目,需要配置大量xml以及大量的bean
如:application.xml spring-mybatis.xml spring-mvc.xml

2.依赖繁琐

pom.xml要写大量依赖,例如
spring-core spring-bean spring-mvc spring-mybatis java-connector等等

三、SpringBoot功能

a、 自动配置
SpringBoot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。

b、起步依赖
起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。 依赖太多版本冲突。 简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

c、辅助功能
提供了一些大型项目中常见的非功能性特性,如嵌入式服务器(tomcat)、安全、指标,健康检测、外部配置等。

四、SpringBoot起步依赖原理

• 在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本。
• 在各种starter中,定义了完成该功能需要的坐标合集,其中大部分版本信息来自于父工程。
• 我们的工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在版本冲突等问题。

五、SpringBoot快速入门

官网: https://docs.spring.io/spring-boot/docs/current/reference/html
搭建一个SpringBoot工程,定义HelloController.hello()方法,返回”Hello SpringBoot!”
如何创建一个springboot工程,见创建springboot项目
1、在pom.xml,添加如下依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.0</version>
 </parent>
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
</dependencies>

2、编写springboot主启动类

@SpringBootApplication
public class SpringbootInitApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootInitApplication.class, args);
    }
}

3、编写test类

@RestController
@RequestMapping("/hello")
public class HelloController{
@GetMapping("/test")
public String test(){
  return"Hello SpringBoot!";
}
}

4、启动编写主启动类SpringbootInitApplication ,访问: http://localhost:8080/hello/test

总结

• SpringBoot在创建项目时,使用jar、war的打包方式。
• SpringBoot的引导类,是项目入口,运行main方法就可以启动项目。
• 使用SpringBoot和Spring构建的项目,业务代码编写方式完全一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Splunk Enterprise 9.0.X Crack

Splunk Enterprise 9.0.X Crack Splunk 有能力了解用户小型企业中实际发生的情况&#xff0c;并快速采取有目的的行动来了解用户和开发人员的情况。它能够轻松灵活地将简单信息转化为答案&#xff0c;以及自动机器学习支持的分析过程 搜索、分析和可视化&#xff0c;从您的所…

基于springcloud的简单易用的java分布式日志组件

真正的大师,永远都怀着一颗学徒的心&#xff01; 一、项目简介 基于springcloud的简单易用的java分布式日志组件 二、实现功能 支持基于traceId的日志记录 支持日志查询 支持日志缓冲队列 redis或者kafka 支持错误报警模块 支持内容组合查询功能 支持日志分应用统计条数…

【神奇bug】“金”、“⾦”不是同一个字

身为程序员&#xff0c;总能遇见那些神奇的bug。我前段时间遇到了 “中国黄金” 和 “中国黄⾦”&#xff0c;我咋看咋觉得是同一个词&#xff0c;但是程序就是判定不一致&#xff0c;十分郁闷&#xff0c;多方搜索&#xff0c;最后发现2个金居然不是一个字。真是个神奇的bug&a…

计算机基础学习笔记:操作系统篇之硬件结构,CPU Cache基础概念

三、CPU Cache的数据结构和读取过程 本文知识来源小林Coding阅读整理思考&#xff0c;原文链接请见该篇文章 Cache结构 CPU Cache 是由很多个 Cache Line 组成的&#xff0c;Cache Line 是 CPU 从内存读取数据的基本单位&#xff0c;而 Cache Line 是由各种**标志&#xff08;…

基于java+springmvc+mybatis+vue+mysql的智能新冠疫苗接种助手

项目介绍 随着全球新冠疫情的蔓延&#xff0c;基本所有的发达国家都开始了全民疫苗接种的行为&#xff0c;在我国更是进行了全民的新冠疫苗接种&#xff0c;为了能够让民众更加方便快捷的进行疫苗的接种我们通过java编程语言&#xff0c;后端ssm框架&#xff0c;前端vue技术开…

【Python百日进阶-数据分析】Day129 - plotly柱状图(条形图):px.bar()实例

文章目录四、实例4.1 Plotly Express条形图4.1.1 加拿大人口4.1.2 一维数据的条形图4.1.3 多维数据条形图4.1.4 彩条4.1.5 堆叠与分组条形图4.1.6 聚集成单色条4.1.7 带文本的条形图4.1.8 填充图案4.1.9 分面子图4.1.10 带Plotly Express的基本水平条形图4.1.11 配置水平条形图…

nacos服务注册与发现

目录 1. 应用系统架构的演变&#xff08;单应用>分布式&#xff09; 2. Spring Cloud Alibaba介绍 3. 开发示例 3.1 版本的选择 3.2 nacos安装 3.3 创建工程 3.3.1 创建父工程 3.3.2 创建服务提供者模块 3.3.2 服务消费者 3.4 测试 今天与大家们简单的聊一下&#…

远程的Win11主机没有连接屏幕,通过向日葵远程后只有一个640x480的分辨率选项

背景 远程的 Win11 主机没有连接屏幕&#xff0c;通过向日葵远程后只有一个 640x480 的分辨率选项&#xff0c;界面特别小&#xff0c;用起来很不方便。而且远程主机本身还无法调整分辨率&#xff0c;向日葵上面的工具栏里也没有分辨率这一选项。 问题分析 主要原因是远程主机…

threejs之圆弧

文章目录弧线相关方法getPointssetFromPoints直线样条曲线与贝塞尔曲线样条曲线贝塞尔曲线专栏目录请点击 弧线 一般我们绘制弧线都会使用ArcCurve来进行绘制&#xff0c;他是EllipseCurve的别名&#xff0c;关于他的所有的方法&#xff0c;我们都可以看EllipseCurve 官网例子…

Linux网络协议之UDP协议(传输层)

Linux网络协议之UDP协议(传输层) 文章目录Linux网络协议之UDP协议(传输层)1.深入理解传输层1.1 对于端口号的理解1.2 端口号范围1.3 常用的知名端口号1.4 进程和端口号的两个问题1.5 查看网络状态命令(netstat)2.UDP协议2.1 UDP协议格式2.2 UDP的特点2.3 面向数据报2.4 UDP的缓…

基于nodejs仿京东商城系统的设计与实现.zip(论文+源码+ppt文档+视频录制)

第一章绪论 3 1.1项目开发的背景和意义 3 1.2国内外研究的现状 3 1.3研究的主要内容 4 第2章系统相关技术介绍 4 2.1 相关技术介绍 4 2.2 系统环境开发条件 5 第三章系统分析 6 3.1可行性分析 6 3.1.1技术性可行性 6 3.1.2经济性可行性 6 3.1.3操作性可行性 7 3.2功能需求分析 …

(Java)【深基9.例1】选举学生会

【深基9.例1】选举学生会 一、题目描述二、输入格式三、输出格式四、样例输入五、样例输出六、失败经历七、正确代码八、正确思路及易错点&#xff08;1&#xff09;题目分析&#xff08;2&#xff09;思路分析&#xff08;3&#xff09;StringBuffer: 线程安全的可变字符串①S…

二十四、CANdelaStudio深入-ExtData编辑

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的ExtData编辑,欢迎各位朋友订阅、评论,…

推荐系统学习笔记-deep crossing

由来 2016年由微软提出&#xff0c; 完整的解决了特征工程、稀疏向量稠密化&#xff0c; 多层神经网络进行优化目标拟合等一系列深度学习在推荐系统的应用问题。 这个模型涉及到的技术比较基础&#xff0c;在传统神经网络的基础上加入了embedding&#xff0c; 残差连接等思想&…

K8s CICD实战

K8s Network之Ingress PDF路径: 链接&#xff1a;https://pan.baidu.com/s/17DxUD8KN7pU1UKIR1Ejemg 提取码&#xff1a;dwf5 一、如果项目需要修改某些代码&#xff0c;怎么办&#xff1f; &#xff08;1&#xff09;重新打成jar包 &#xff08;2&#xff09;重新制作Dockerf…

javaSE - 异常(Exception 或 RuntimeException)

一、异常的背景 1.1、初识异常 其实在我们开发中&#xff0c;就是代码出现意外状况。影响到程序的运行。 其实&#xff0c;在我们接触代码开始&#xff0c;就一直在接触异常&#xff0c;只是从来没有分类。 这点在java中&#xff0c;更加明显。 现在我们就来基本了解一下异常。…

web靶场搭建之帝国cms7.5

目录 一、漏洞描述 二、漏洞环境 三、环境搭建 四、漏洞复现 后台getshell(CVE-2018-18086) 漏洞原理&#xff1a; 漏洞复现&#xff1a; 源码审计&#xff1a; 代码注入 (CVE-2018-19462) 漏洞原理&#xff1a; 漏洞复现&#xff1a; 源码审计&#xff1a; 后台X…

Innodb存储引擎-表(逻辑存储结构、行记录格式、数据页结构)

文章目录表索引组织表InnoDB逻辑存储结构表空间(tablespace)段(segment)区(extent)页(page)行(record)行记录格式compactRedundant行溢出数据Compressed 和 Dynamic 行记录格式CHAR的行结构存储数据页结构File Header & Page Header & File TrailerInfimum 和 Supremum…

springboot《1》

map的映射 package com.kob.backend.controller.pk;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;RestControllerRequestMapping("…

国产软件的「硬替代」与「软着陆」之辨

作者 | 曾响铃 文 | 响铃说 疫情倒逼、政策驱动、市场化博弈、国际形势拉锯等等一系列的因素正在综合影响国产软件的走势。在国内&#xff0c;国产软件替代化进程持续加速&#xff0c;国产软件正迎来逆势增长的“窗口期”。 与此同时&#xff0c;从中央到地方&#xff0c;政…