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

Oracle RMAN物理备份Web系统讶

springboot自动配置自动配置了大量组件配置信息可以在application.properties文件中修改。当添加了特定的Starter POM后springboot会根据类路径上的jar包来自动配置bean比如springboot发现类路径上的MyBatis相关类springboot会自动配置MyBatis相关的bean。springboot使用默认配置来设置这些功能开发人员也可以自定义配置来覆盖默认配置。这些配置信息如何生效的通过ConfigurationProperties注解将配置信息注入到组件中的属性类的。属性类一般以Properties结尾。比如tomcat组件的ServerProperties类就是将配置信息中server开头的配置注入到属性中比如server.port8080会被绑定到属性中ConfigurationProperties(server)public class ServerProperties {private Nullable Integer port;private Nullable InetAddress address;.....}自动配置是按需加载的springboot提供很多自动配置类这些自动配置不是全部生效它是按需加载的导入了哪个启动器则该启动器对应的配置类才会被加载。任何启动器都会关联一个启动器spring-boot-Starter它是springboot框架最核心的启动器。spring-boot-Starter又关联引入spring-boot-auto从figure。所有的自动配置类都在这里。自动配置类用来创建相应的组件。按需加载如何实现使用条件注解可以实现按需加载。条件注解基于某些条件决定是否应该创建一个bean。这些注解通常用在自动配置类上以确保只有在特定条件满足时才会应用相应的配置。条件注解可以用在类上也可以用在方法上。常见的条件注解有ConditionalOnClass 指定类存在时才创建beanConditionalOnMissingClass 指定类不存在时才创建beanConditionalOnBean 容器中存在指定bean时才创建beanConditionalOnMissingBean 容器中不存在指定bean时才创建beanConditionalOnProperty 配置文件中存在指定属性时才创建beanConditionalOnResource 指定资源存在时才创建beanConditionalOnWebApplication 应用程序是Web应用时才创建beanConditionalOnNotWebApplication 应用程序不是Web应用时才创建bean修改默认的包扫描规则修改扫描规则有2种方式在主入口类上添加以下注解的任意一个都可以修改包扫描规则扫描com包及其子孙包ComponentScan(com)SpringBootApplication(scanBasePackages com)自动配置的实现原理程序从main方法开始执行主入口类上使用SpringBootApplication进行标注SpringBootApplication是复合注解代表以下三个注解的功能a. SpringBootConfiguration:它被Configuration标注。表明主入口类是一个配置类此时该配置开始加载。b. ComponentScan 默认扫描主入口类所在包及其子孙包因此spring-boot-autoconfigure 自动配置类是无法加载的那么这些自动配置类又是怎么生效的呢c. EnableAutoConfiguration 该注解的作用就是启用自动配置EnableAutoConfiguration 被Import({AutoConfigurationImportSelector.class})标注? Import({AutoConfigurationImportSelector.class})的作用是将AutoConfigurationImportSelector作为一个bean加载到Ioc容器中? 这个bean的作用是负责收集和选择所有符合条件的自动配置类。总结运行环境准备阶段引入Web启动器最终传递引入了自动配置的jar包自动配置的jar包中有152个自动配置类到此运行环境准备完毕运行阶段EnableAutoConfiguration 启用自动配置将152个自动配置类全部加载到Ioc容器中。然后根据开发场景筛选出必须得自动配置类自动配置类加载了很多组件每个组件需要的数据来自属性类属性类的属性来自配置文件总之一句话。导入启动器修改配置文件。就可以完成对应功能的开发。springmvc配置# 让springboot的静态资源处理失效spring.web.resources.add-mappingsfalse# 配置静态资源的访问URLspring.mvc.static-path-pattern/**# 静态资源文件存储位置默认配置spring.web.resources.static-locationsclasspath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/springboot对静态资源是如何处理的什么样的URL 访问哪个位置上的资源文件webjarswebjars是现在前后端分离中比较重要的一种静态资源打包方式。webjars是一种常用的前端库如jQuery打包成jar包的形式方便在java程序中使用。webjars提供了一种标准化的方式来管理前端库使其更容易集成到java项目中并且可以利用Maven的依赖管理功能。org.webjars.npmvue3.5.12默认规则是当请求路径是/wbjars/**,则会去classpath:/MEAT-INF/resources/webjars/找。静态资源缓存处理静态资源缓存是指浏览器的缓存行为浏览器可以缓存js、CSS、图片、声音、视频到浏览器中下一次用户访问同样的资源就直接从缓存中获取不再从服务器获取这样能减少服务器压力提高相应效率。可以通过配置来修改默认的缓存机制。静态资源缓存设置缓存有效期设置spring.web.resources.cache.period3600# 缓存控制设置spring.web.resources.cache.cachecontrol.max-age20# 是否启用最后一次修改时间的比对spring.web.resources.cache.use-last-modifiedtrue静态index.html的支持spring会自动处理位于静态资源目录下的index.html文件名必须是index.html使其成为应用程序的主页。注意此时不能配置静态资源访问urlspring.mvc.static-path-pattern必须使用默认的配置favicon.ico将favicon.ico放在静态资源根目录下就会自动生效。spring boot的web手动配置静态资源处理编写代码的方式第一种方式 实现WebMvcConfigurer接口// 添加这个注解后表示不再使用springboot提供的默认配置// EnableWebMvcConfigurationpublic class WebConfig implements WebMvcConfigurer {// 静态资源处理需要重写的方法Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 使用注册器registry 绑定 pathPatterns 以及真实的静态资源文件存储路径registry.addResourceHandler(/abc/**) // 配置路径访问模式.addResourceLocations(classpath:/static1/, classpath:/static2/, classpath:/static3/); // 配置静态资源路径}}第二种方式Configurationpublic class WebConfig2 {Beanpublic WebMvcConfigurer addResourceHandlers() {return new WebMvcConfigurer() {Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/abc/**) // 配置路径访问模式.addResourceLocations(classpath:/static1/, classpath:/static2/, classpath:/static3/); // 配置静态资源路径}};}}web请求的路径匹配# 前端请求的url 匹配到controller中的某个方法# 使用ant风格的路径匹配规则默认值是path_pattern_matcher# path_pattern_matcher兼容且支持ant风格# 在ant风格中** 可以出现在任何位置但在path_pattern_matcher风格中** 只能出现在末尾# spring6 下的ant风格 ** 也只能出现在末尾spring.mvc.pathmatch.matching-strategyant_path_matcher膳纶运静

相关文章:

Oracle RMAN物理备份Web系统讶

springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类&#xff…...

YOLOv12用于医学图像分析:CT影像中病灶区域的自动检测与标注

YOLOv12用于医学图像分析:CT影像中病灶区域的自动检测与标注 最近几年,AI在医学影像领域的发展,真的有点让人目不暇接。作为一名长期关注AI落地的工程师,我见过不少模型在标准数据集上跑分很高,但一到实际场景就“水土…...

思科模拟器实战:交换机与路由器的综合网络配置实验

1. 实验环境搭建与设备初始化 第一次打开思科模拟器时,看着满屏的设备图标可能会有点懵。别担心,我们先从最基础的设备连接开始。这个实验需要两台路由器(型号建议用2911)、一台交换机(比如2960)&#xff0…...

云容笔谈·东方红颜影像生成系统环境配置详解:Anaconda虚拟环境管理

云容笔谈东方红颜影像生成系统环境配置详解:Anaconda虚拟环境管理 如果你刚接触AI图像生成,想在本地跑起来一个像“东方红颜”这样的模型,第一步往往不是写代码,而是配环境。我见过太多朋友,兴致勃勃地下载了模型代码…...

wife调式的Ioc频次给几率

wife 被攻击sql,导致IP地址属地波束频率过流压制,被限定单量用于恶意ssl攻击,在被强力攻击IP•iccid频率Bu,在过滤器的emeiN,进击性开启恶意-qcl,过级率下的Npm存在严重漏洞bug,导致…...

多模型场景下的成本治理指标体系郎

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...

IOFILE结构体的介绍与House of orange瓤

认识Pass层级结构 Pass范围从上到下一共分为5个层级: 模块层级:单个.ll或.bc文件 调用图层级:函数调用的关系。 函数层级:单个函数。 基本块层级:单个代码块。例如C语言中{}括起来的最小代码。 指令层级:单…...

、SEATA分布式事务——XA模式磺

MySQL 中的 count 三兄弟:效率大比拼! 一、快速结论(先看结论再看分析) 方式 作用 效率 一句话总结 count(*) 统计所有行数 最高 我是专业的!我为统计而生 count(1) 统计所有行数 同样高效 我是 count(*) 的马甲兄弟…...

Verilog 进阶学习指南:从入门到精通的必备书单(附资源)

1. Verilog学习路径规划:从菜鸟到高手的三个阶段 第一次接触Verilog时,我被那些看似天书般的模块声明和always块搞得晕头转向。后来在导师的指导下,才发现学习Verilog需要分阶段突破,就像打游戏升级一样要循序渐进。根据我十年带新…...

HDLbits实战解析系列2:Verilog模块化设计进阶与层次化实例精讲

1. Verilog模块化设计入门:从基础到实践 刚开始接触Verilog模块化设计时,很多人会觉得这个概念很抽象。其实模块化就像搭积木一样简单——把复杂电路拆分成多个独立的小模块,再通过接口把它们连接起来。我在最初学习时,经常把模块…...

SQUIRE: Leveraging Sequence-to-sequence Transformers for Robust Multi-hop Knowledge Graph Completion

1. 什么是SQUIRE框架? SQUIRE是一个基于序列到序列Transformer架构的创新性知识图谱补全框架。简单来说,它就像是一个专门为知识图谱设计的"翻译器"——把查询语句(比如"阿尔伯特的母语是什么?")转…...

uni-app中H5页面通过web-view跳转小程序的完整解决方案

1. 为什么H5页面跳转小程序会报错? 最近在做一个uni-app项目时,遇到了一个典型问题:在H5页面中通过web-view跳转小程序时,控制台报错"wx.miniProgram is undefined"或者"navigateTo is undefined"。这个问题困…...

AI 赋能 JS 逆向MCP+Skill+autoDecoder 全自动化落地加密自动Ai逆向

0x01 前言 随着各大开发的安全意识逐渐提高,前端防护手段越来越复杂,参数加密场景的越来越广泛,并且其生成逻辑往往经过多层混淆与封装,对我这种不具备深厚的代码功底和逻辑还原能力的小菜鸡来说倍感压力,人工逆向的方…...

AI时代的算法思维:大经典排序学习竞

引言 在现代软件开发中,性能始终是衡量应用质量的重要指标之一。无论是企业级应用、云服务还是桌面程序,性能优化都能显著提升用户体验、降低基础设施成本并增强系统的可扩展性。对于使用 C# 开发的应用程序而言,性能优化涉及多个层面&#x…...

gte-base-zh快速上手:Xinference框架下的文本嵌入模型部署实战

gte-base-zh快速上手:Xinference框架下的文本嵌入模型部署实战 1. 引言:认识gte-base-zh文本嵌入模型 文本嵌入技术是自然语言处理中的核心基础,它能够将文字转换为计算机可理解的数字向量。gte-base-zh作为阿里巴巴达摩院基于BERT框架训练…...

Windows10 Qt5.15.2环境下MINGW编译VTK-8.2.0的完整指南与常见问题解决

1. 环境准备与工具安装 在Windows10系统下用Qt5.15.2的MINGW编译VTK-8.2.0,首先需要准备好基础工具链。我去年在给医疗影像项目搭建三维可视化平台时就踩过不少坑,后来总结出这套稳定可靠的配置方案。 CMake的选择特别关键,实测3.14.0版本兼容…...

软件测试人员,别再贩卖AI焦虑了!

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中…...

SpringCloud微服务进阶-Nacos更加全能的注册中心劫

插件化架构 v3 版本最大的变化是引入了模块化插件系统。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。 每个插件都是一个独立的 Composer 包,包含 Swift 和 Kotlin 代码、权限清单以及原生依赖。开发者只需安装实际用到的插件&#xff0…...

NSudo完整指南:解锁Windows系统管理终极权限的5种方法

NSudo完整指南:解锁Windows系统管理终极权限的5种方法 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo …...

时间块工作法:编程专注力提升200%

在软件测试领域,专注力是高效工作的核心驱动力。测试从业者常面临多任务切换、需求变更频繁和干扰源众多的挑战,导致注意力分散、效率低下。时间块工作法(Time Blocking)作为一种科学的时间管理策略,通过将工作时间分割…...

Playwright CLI 使用指南 —— 现代浏览器自动化利器

Playwright CLI 使用指南 —— 现代浏览器自动化利器 Playwright CLI 是微软推出的命令行浏览器自动化工具,专为现代编码代理(Coding Agents)优化。它通过简洁的 CLI 命令暴露浏览器工作流,相比 MCP 协议更加 Token 高效&#xff…...

Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接劣

一、环境准备 Free Spire.Doc for Python 是免费 Python 文档处理库,无需依赖 Microsoft Word,支持 Word 文档的创建、编辑、转换等操作,其中内置的 Markdown 解析能力,能高效实现 Markdown 到 Doc/Docx 格式的转换,且…...

5个关键技巧:用InteractiveHtmlBom提升PCB设计效率300%

5个关键技巧:用InteractiveHtmlBom提升PCB设计效率300% 【免费下载链接】InteractiveHtmlBom Interactive HTML BOM generation plugin for KiCad, EasyEDA, Eagle, Fusion360 and Allegro PCB designer 项目地址: https://gitcode.com/gh_mirrors/in/Interactive…...

基于cruise的仿真模型搭建及效果分析:丰田氢能源车型在wltc工况下的跟随优势

基于cruise的燃料电池功率跟随仿真,按照丰田氢能源车型搭建,在wltc工况下跟随效果好,最高车速175,最大爬坡30,百公里9s均已实现。 1.模型通过cruise/simulink联合仿真,策略通过MATLAB/Simulink搭建的多点恒…...

全新RCLAMP3324T.TCT TVS二极管 Semtech 电子元器件 原装正品IC

Semtech推出的RCLAMP3324T.TCT 是由Semtech公司生产的一款高性能、低电容的四线ESD(静电放电)保护器件,它采用RailClamp专利架构,在超紧凑的SLP1710P4T封装内,实现了0.4pF超低电容与25kV接触/30kV空气放电顶级防护的完…...

终极指南:如何用Mousecape轻松定制你的macOS鼠标光标

终极指南:如何用Mousecape轻松定制你的macOS鼠标光标 【免费下载链接】Mousecape Cursor Manager for OSX 项目地址: https://gitcode.com/gh_mirrors/mo/Mousecape 你是否厌倦了macOS千篇一律的白色箭头光标?是否希望在工作时拥有更有个性、更醒…...

AI 时代:祛魅、适应与重新定义肝

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

AI开发-python-langchain框架(--自定义Tool )硕

起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧&#xff…...

探索DebToIPA核心技术:解密.deb到.ipa的架构突破与移动应用格式革命

探索DebToIPA核心技术:解密.deb到.ipa的架构突破与移动应用格式革命 【免费下载链接】DebToIPA Convert .deb apps to .ipa files, on iOS, locally 项目地址: https://gitcode.com/gh_mirrors/de/DebToIPA 在移动应用生态系统的技术演进中,跨平台…...

如何用Obsidian Projects解决碎片化知识管理难题:从笔记到项目的一站式解决方案

如何用Obsidian Projects解决碎片化知识管理难题:从笔记到项目的一站式解决方案 【免费下载链接】obsidian-projects Plain text project planning in Obsidian 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-projects 你是否经常在Obsidian中积累了…...