当前位置: 首页 > news >正文

SpringBoot+Vue3-学习笔记

1、SpringBoot特性

①起步依赖,所有需要的依赖全部配置在一起
②自动配置:遵循约定大约配置的原则,在boot程序启动后,一些bean对象会自动注入到ioc容器,不需要手动声明,简化开发
③内嵌的Tomcat、Jetty(无需部署WAR文件)、外部化配置、不需要XML配置(properties/yml)

2、SpringBoot 开发一个web应用

需求:使用 SpringBoot 开发一个web应用,浏览器发起请求 /ello后,给浏览器返回字符串“helo world ~"
不使用SpringBoot:配置依赖、配置servlet、配置beans扫描、写Controller
使用SringBoot:引入spring-boot-stater-web、写Controller

3、其他使用

3.1读取配置信息

值前边必须有空格,作为分隔符
使用空格作为缩进表示层级关系,相同的层级左侧对齐
@Value(“${键名}”)
@ConfigurationProperties(prefix=“前缀”)

3.2 启动类注解说明

@SpringBootApplication 已包含 @SpringBootConfiguration@EnableAutoConfiguratior @ComponentScan

3.3 外部类注册

如果要注册的bean对象来自于第三方(不是自定义的),是无法用 @Component 及衍生注解声明bean的
@Bean
@lmport
◆ 导入 配置类
◆ 导入 ImportSelector 接实现类
@Import(Xxx.class)
@springBootApplication
@Import(CommonConfig.class)
◆ @EnableXxxx注解,封装@Import注解

3.4 注册条件

@Conditional0nProperty 配置文件中存在对应的属性,才声明该bean
@ConditionalOnMissingBean 当不存在当前类型的bean时,才声明该bean
@ConditionalOnClass 当前环境存在指定的这个类时,才声明该bean

3.5 SpringBoot自动配置原理

遵循约定大约配置的原则,在boot程序启动后,起步依赖中的一些bean对象会自动注入到ioc容器
①在主启动类上添加了SpringBootApplication注解这个注解组合了
EnableAutoConfiguration注交
②EnableAutoConfiguration注解又组合了Import注解,导入了AutoConfigurationlmportSelector类
③实现selectImports方法,这个方法经过层层调用,最终会读取META-INF 目录下的 后缀名 为imorts的文件,当然了,boot2.7以前的版本,读取的是spring.factories文件。
④读取到全类名了之后,会解析注册条件,也就是@Conditional及其衍生注解,把满足注册条件的Bean对象自动注入到IOC容器中
在这里插入图片描述

相关文章:

SpringBoot+Vue3-学习笔记

1、SpringBoot特性 ①起步依赖,所有需要的依赖全部配置在一起 ②自动配置:遵循约定大约配置的原则,在boot程序启动后,一些bean对象会自动注入到ioc容器,不需要手动声明,简化开发 ③内嵌的Tomcat、Jetty(无…...

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu:I5-10代; 主板:华硕; OS:银河麒麟V10(SP1)未激活 架构:Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.ta…...

为什么WP建站更适合于谷歌SEO优化?

在当今数字时代,建立一个网站似乎变得容易,但要构建一个真正能够带来流量和订单的网站却并非易事。特别是在谷歌SEO优化方面,不同的建站程序在SEO支持方面的效果差异显著。对于希望提升搜索引擎表现的用户来说,WordPress无疑是最佳…...

ue----git局域网内部署裸仓库,别的机器进行访问

最近由于经常迁移项目到另一台机器上进行部署更新一点就要整个迁移 弄得麻烦了 就在网上学了一下这个方式 首先我们在想要建立裸仓库的电脑上找到一个文件夹放置我们的裸仓库 在此点击鼠标右键选择 open git bash here 输入命令 创裸仓库 git init --bare gitTestName.git…...

leetcode876.链表的中间结点

目录 问题描述示例提示 具体思路思路一 代码实现 问题描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 题目链接:链表的中间结点 示例 提示 链表的结点数范围是 [1, 100]   1 &…...

旧手机热点无法提供ipv6解决方法(emui 8 热点提供ipv6)

旧手机热点无法提供ipv6解决方法 手机:荣耀8x 系统版本: EMUI 8 网络:移动流量卡 解决方案 设置-》无线和网络-》移动网络-》接入点名称(APN)-》cmiot 修改 APN协议: IPv4/IPv6 修改 APN漫游协议: IPv4/IPv6...

解决DeepSeek服务器繁忙问题的实用指南

目录 简述 1. 关于服务器繁忙 1.1 服务器负载与资源限制 1.2 会话管理与连接机制 1.3 客户端配置与网络问题 2. 关于DeepSeek服务的备用选项 2.1 纳米AI搜索 2.2 硅基流动 2.3 秘塔AI搜索 2.4 字节跳动火山引擎 2.5 百度云千帆 2.6 英伟达NIM 2.7 Groq 2.8 Firew…...

新数据结构(12)——代理

什么是代理 在进行操作时有时不希望用户直接接触到目标,这时需要使用代理让用户间接接触到目标 给目标对象提供一个代理对象,并且由代理对象控制着对目标对象的引用 图解: 代理的目的 控制访问:通过代理对象的方式间接的访问目…...

记一次一波三折的众测SRC经历

视频教程和更多福利在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 目录: 前言 波折一:RCE漏洞利用失败 波折二:SQL时间盲注 波折三:寻找管理后台 总结 前言 先谈个人SRC心得体会吧,我虽…...

Laravel从入门到上云

大家好,今天给大家介绍一下PHP的经典框架Laravel。 本文假定你已经安装好了PHP执行环境,并且使用PHP版本为PHP8.0以上。 首先,让我们来安装Laravel框架,执行命令:composer create-project laravel/laravel 命令执行…...

【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队:洛谷813622(Igallta) 989571(_ayaka_) Mod:_ayaka_ 双人模式:Igallta 公告: 原先的9.8改名为 Alpha 1.0,以后每次更新都增加 0.1。 Alpha 1.11 改为 Beta 1…...

【前端】使用WebStorm创建第一个项目

文章目录 前言一、步骤1、启动2、创建项目3、配置Node.js4、运行项目 二、Node.js介绍 前言 根据前面文章中记录的步骤,已经安装好了WebStorm开发软件,接下来我们就用这个IDE开发软件创建第一个项目。 一、步骤 1、启动 启动软件。 2、创建项目 新建…...

前后端项目部署服务器(传统部署和Docker部署)

内外网 开发环境连外网(8.140.26.187),测试/生产环境连内网(172.20.59.17) 内外网地址不同,但指定的库是同一个 内网IP地址范围包括: 10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.2551…...

C++,设计模式,【工厂方法模式】

文章目录 如何用汽车生产线理解工厂方法模式?一、传统生产方式的困境二、工厂方法模式解决方案三、模式应用场景四、模式优势分析五、现实应用启示✅C++,设计模式,【目录篇】 如何用汽车生产线理解工厂方法模式? 某个早晨,某车企CEO看着会议室里堆积如面的新车订单皱起眉…...

golang--字符串处理(rune类型)

在 Go 语言中,rune 类型是一个非常重要的基础类型,用于处理 Unicode 字符。以下是关于 rune 类型的详细用法说明: 一、基础概念 类型定义 rune 是 int32 的别名(type rune int32),表示一个 Unicode 码点&a…...

如何通过AI优化敏捷开发中的任务管理与分配?

用ChatGPT做软件测试 在现代软件开发中,敏捷开发(Agile)已成为一种广泛采用的开发方法论,其核心思想是强调快速响应变化、与客户的持续沟通以及团队协作的高效性。然而,随着项目规模的不断扩大,敏捷开发面临…...

第1章大型互联网公司的基础架构——1.11 消息中间件技术

消息队列(Message Queue)是分布式系统中最重要的中间件之一,在服务架构设计中被广泛使用。 1.11.1 通信模式与用途 消息中间件构建了这样的通信模式: 一条消息由生产者创建,并被投递到存放消息的队列中;…...

FlutterAssetsGenerator插件的使用

在Plugins中找到FlutterAssetsGenerator插件,点击安装。 更改生成的资源索引类可以修改名字。 在根目录下创建assets/images文件夹,用于存储图片。 点击images文件夹,鼠标右键点击Flutter:Configuring Paths,pub…...

EasyExcel 自定义头信息导出

需求:需要在导出 excel时,合并单元格自定义头信息(动态生成),然后才是字段列表头即导出数据。 EasyExcel - 使用table去写入:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write#%E4%BD%BF%E7%94%A8table%E…...

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施

文章目录 GRE隧道(通用路由封装,Generic Routing Encapsulation)协议号47实验:思科:开始实施: 华为:开始实施: eBGP实施思科:华为: GRE隧道(通用路…...

别再手动改Word了!用Python的python-docx库批量生成周报,5分钟搞定

职场效率革命:用Python-docx实现周报自动化全流程指南 每周五下午,市场部的张经理总要面对同样的烦恼——从十几个Excel表格中复制粘贴数据,调整格式,再手动填入Word周报模板。这种重复劳动不仅消耗两小时宝贵时间,还容…...

OpenHarness:AI智能体基础设施框架,连接LLM思考与真实世界行动

1. 项目概述:OpenHarness,一个为AI智能体打造的“缰绳” 如果你最近在关注AI智能体(Agent)的开发,可能会发现一个现象:大语言模型(LLM)本身很聪明,但让它真正“动手”去完…...

8051单片机实战:用TX8T3260芯片实现RF-315/433MHz遥控器信号的学习与重放功能

8051单片机实战:TX8T3260芯片实现RF-315/433MHz遥控信号学习与重放 在智能家居和物联网设备开发中,遥控信号的兼容性一直是工程师面临的挑战。传统方案需要为每个被控设备配备专用遥控器,而学习型遥控技术通过捕获、存储和重放原始信号&#…...

数字孪生AI:如何让历史数据“开口说话”?

数字孪生AI:如何让历史数据“开口说话”? 引言 想象一下,如果能将一座工厂、一条交通干线甚至一个城市的“过去”完整地复现、分析与推演,我们能从中发现多少被忽略的规律,避免多少重复的失误?这正是数字孪…...

Qwen3.5-2B快速部署:单命令启动WebUI+自动绑定7860端口脚本编写

Qwen3.5-2B快速部署:单命令启动WebUI自动绑定7860端口脚本编写 1. 项目概述 Qwen3.5-2B是一款仅20亿参数的轻量级多模态大语言模型,专为本地部署优化设计。相比大型模型,它在保持良好性能的同时大幅降低了硬件要求,特别适合个人…...

番茄小说下载器终极指南:一键打造个人数字图书馆的免费神器

番茄小说下载器终极指南:一键打造个人数字图书馆的免费神器 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾经为找不到心仪小说的完整资源而烦恼&#xff…...

百度网盘直链解析终极指南:三步实现免客户端高速下载 [特殊字符]

百度网盘直链解析终极指南:三步实现免客户端高速下载 🚀 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘龟速下载而烦恼吗?今…...

Qwen2.5-VL-7B图文对话模型开箱即用:无需复杂配置,小白也能轻松上手

Qwen2.5-VL-7B图文对话模型开箱即用:无需复杂配置,小白也能轻松上手 1. 模型简介与核心能力 Qwen2.5-VL-7B-Instruct-GPTQ是一款基于通义千问团队最新研发的多模态大模型,专为图文对话任务优化。这个版本经过AngelSlim压缩技术处理&#xf…...

SpringBoot项目打包遇阻:Java版本不匹配的深度诊断与修复

1. 当SpringBoot打包遇上Java版本冲突 最近在给一个SpringBoot多模块项目打包时,遇到了一个让人头疼的问题。Maven打包过程中突然报错,提示"class file version 61.0"不兼容,而当前Java运行时环境最高只支持到"class file ve…...

VSCode量子配置深度解析(2024年唯一经实测验证的低延迟高并发开发环境构建法)

更多请点击: https://intelliparadigm.com 第一章:VSCode量子配置的底层原理与时代意义 VSCode 本身并无原生“量子配置”模块,但随着量子计算开发套件(如 Qiskit、Microsoft Q# Extension、Amazon Braket 插件)的深度…...