锦州做网站哪家好cloudfare wordpress

news/2025/10/6 0:46:51/文章来源:
锦州做网站哪家好,cloudfare wordpress,遵义网站建设哪家强,外贸开发产品网站建设文章目录 Spring Boot 约定大于配置#xff1a;实现自定义配置引言1. Spring Boot 的约定大于配置2. 自定义配置的需求3. 实现自定义配置的步骤4. 示例#xff1a;自定义 Spring MVC 配置4.1 创建自定义配置类4.2 创建自定义拦截器4.3 测试自定义配置 5. 其他自定义配置场景5… 文章目录 Spring Boot 约定大于配置实现自定义配置引言1. Spring Boot 的约定大于配置2. 自定义配置的需求3. 实现自定义配置的步骤4. 示例自定义 Spring MVC 配置4.1 创建自定义配置类4.2 创建自定义拦截器4.3 测试自定义配置 5. 其他自定义配置场景5.1 自定义数据源配置5.2 自定义 Spring Security 配置 6. 总结 Spring Boot 约定大于配置实现自定义配置 引言 Spring Boot 是一个基于 Spring 框架的快速开发框架它的核心理念之一是 “约定大于配置”。这意味着 Spring Boot 提供了许多默认配置开发者只需要关注自己的业务逻辑而不需要手动配置大量的细节。然而在某些情况下我们可能需要自定义配置来满足特定的需求。本文将介绍如何在 Spring Boot 中实现自定义配置并通过实现接口和添加 Configuration 注解来完成这一过程。 1. Spring Boot 的约定大于配置 Spring Boot 的“约定大于配置”理念体现在以下几个方面 自动配置Spring Boot 根据项目的依赖自动配置应用程序。例如如果项目中引入了 spring-boot-starter-webSpring Boot 会自动配置 Tomcat 和 Spring MVC。默认配置Spring Boot 提供了许多默认配置例如默认的端口号是 8080默认的静态资源路径是 classpath:/static 等。简化配置通过 application.properties 或 application.yml 文件开发者可以轻松覆盖默认配置。 这种设计大大减少了开发者的配置工作量使得开发者可以更专注于业务逻辑的实现。 2. 自定义配置的需求 尽管 Spring Boot 提供了许多默认配置但在实际开发中我们可能需要自定义一些配置。例如 自定义 Bean 的加载顺序。自定义某些组件的初始化逻辑。根据环境变量动态加载配置。 为了实现这些需求Spring Boot 提供了灵活的扩展机制允许开发者通过实现接口和添加注解来自定义配置。 3. 实现自定义配置的步骤 在 Spring Boot 中实现自定义配置通常需要以下步骤 实现 WebMvcConfigurer 或其他相关接口根据需求选择合适的接口。添加 Configuration 注解将自定义配置类标记为 Spring 的配置类。重写接口方法在配置类中重写接口的方法实现自定义逻辑。 下面通过一个具体的示例来演示如何实现自定义配置。 4. 示例自定义 Spring MVC 配置 假设我们需要自定义 Spring MVC 的配置例如添加一个拦截器或修改静态资源路径。可以通过以下步骤实现 4.1 创建自定义配置类 首先创建一个类并实现 WebMvcConfigurer 接口。WebMvcConfigurer 是 Spring MVC 提供的接口用于自定义 MVC 配置。 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration // 标记为配置类 public class CustomWebMvcConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {// 添加自定义拦截器registry.addInterceptor(new CustomInterceptor()).addPathPatterns(/**); // 拦截所有请求}Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 自定义静态资源路径registry.addResourceHandler(/static/**).addResourceLocations(classpath:/custom-static/);} }4.2 创建自定义拦截器 在上面的配置类中我们添加了一个自定义拦截器。拦截器的实现如下 import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;Component public class CustomInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(CustomInterceptor: 请求被拦截);return true; // 继续执行后续逻辑} }4.3 测试自定义配置 启动 Spring Boot 应用程序后访问任意路径控制台会输出 CustomInterceptor: 请求被拦截说明拦截器已生效。同时静态资源路径也会被映射到 classpath:/custom-static/。 5. 其他自定义配置场景 除了自定义 Spring MVC 配置外Spring Boot 还支持许多其他自定义配置场景。以下是一些常见的示例 5.1 自定义数据源配置 通过实现 DataSourceInitializer 接口可以自定义数据源的初始化逻辑。 import org.springframework.context.annotation.Configuration; import javax.sql.DataSource;Configuration public class CustomDataSourceConfig {Beanpublic DataSource dataSource() {// 自定义数据源配置return new HikariDataSource();} }5.2 自定义 Spring Security 配置 通过继承 WebSecurityConfigurerAdapter 类可以自定义 Spring Security 的配置。 import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;Configuration EnableWebSecurity public class CustomSecurityConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers(/public/**).permitAll().anyRequest().authenticated();} }6. 总结 Spring Boot 的“约定大于配置”理念极大地简化了开发流程但在实际项目中我们仍然需要根据需求自定义配置。通过实现相关接口如 WebMvcConfigurer并添加 Configuration 注解开发者可以灵活地扩展和定制 Spring Boot 的默认行为。 自定义配置的核心步骤如下 选择合适的接口如 WebMvcConfigurer。创建配置类并添加 Configuration 注解。重写接口方法实现自定义逻辑。 希望本文能帮助你更好地理解 Spring Boot 的自定义配置机制并在实际项目中灵活运用

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

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

相关文章

CF2152G Query Jungle(线段树,重链剖分,*)

CF2152G Query Jungle 子树翻转,求没有黑色子孙的黑色点个数。套上 mincnt 标签和双生 rev 标签即可。不明白提交记录里的人都在写什么鬼。 Code const int inf = 1 << 30;struct Node {int m1 = inf, mc1 = 0,…

代码随想录算法训练营第九天 | leetcode 151 卡特55

反转字符串中的单词 整体思路:先将整体翻转,再进行翻转其中的单词,以空格划分进行单词操作,使用快慢指针思想,快指针获取符合题目要求的字母,慢指针是获取到字母后更新到哪里 代码如下:class Solution { public…

[题解] 分竹子

传送门 题目描述 将 bamboo_len 的竹子砍为若干整数段, 求每段竹子长度的最大乘积. 2 <= bamboo_len <= 58 分析 设将长度为 \(s\) 的竹子分为 \(n\) 段, 每段分别为 \(a_1, a_2, \cdots, a_n\) , 问题转化为求 …

可画在线设计网站网站建设策划书事物选题

如果還不知道什麼是 Pagination 或者還不了解如何使用&#xff0c;請參考&#xff1a; CakePHP Pagination (分頁功能) 。通常在管理後台實作時&#xff0c;常設定許多查詢條件來查詢資料&#xff0c;比如&#xff1a;起始、結束時間。通常這些參數都是用GET的方式在傳遞。以下…

万网网站多少直播营销策划方案范文

transport传输 一、Tansport 转发到Producer二、RtpStreamRecv 处理收到的包三、数据传输到Router&#xff0c;再分发到Consumertips 一、Tansport 转发到Producer Transport收到数据packet后&#xff0c;会解析出packet中所带的ssrc字段&#xff0c;然后基于ssrc找到该数据的…

烟台房地产网站建设flash网站与html5

1 标准误 1.1 定义 标准误&#xff08;Standard Error&#xff09;是用来衡量统计样本估计量&#xff08;如均值、回归系数等&#xff09;与总体参数之间的差异的一种统计量。标准误衡量了样本估计量的变异程度&#xff0c;提供了对总体参数的估计的不确定性的度量。标准误越…

免费做网站怎么做网站3.15网站建设

文章目录1. 题目信息2. 解题2.1 递归查找2.2 改循环1. 题目信息 给定一个非空特殊的二叉树&#xff0c;每个节点都是正数&#xff0c;并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话&#xff0c;那么这个节点的值不大于它的子节点的值。 给出这样的一…

实力强劲的机器视觉公司有哪些:2025年TOP5精选榜单

实力强劲的机器视觉公司有哪些:2025年TOP5精选榜单科技的飞速迭代正重塑工业生产模式,机器视觉公司作为工业自动化的“技术引擎”,凭借图像采集、算法分析等核心能力,为3C电子、汽车制造、半导体等领域提供精准检测…

常见的电子商务网站有南宁网站推广优化

本章节的目的是 【明确目标用户群】 &#xff0c;以更好的服务现有用户。 【知识点】 1.作图 显示中文plt.rcParams[font.sans-serif] [SimHei] # 步骤一&#xff08;替换sans-serif字体&#xff09; plt.rcParams[axes.unicode_minus] False # 步骤二&#xff08;解决坐标轴…

保健品网站建设流程网站模板下载免费

文章目录 前言 1 配置 2 使用 3 MAVLink协议说明 前言 ArduPilot 和任务计划器能够通过使用加密密钥添加数据包签名&#xff0c;为空中 MAVLink 传输增加安全性。这并不加密数据&#xff0c;只是控制自动驾驶仪是否响应 MAVLink 命令。 当自动驾驶仪处于激活状态时&#x…

优质机器视觉教育装备有哪些:2025年TOP5推荐清单

优质机器视觉教育装备有哪些:2025年TOP5推荐清单科技浪潮推动教育领域向智能化转型,机器视觉教育装备作为培养工业自动化、人工智能领域专业人才的核心工具,已广泛应用于高校智能制造专业、职业院校工业机器人课程及…

2025年机器视觉软件平台哪个好:全行业品牌TOP5推荐榜单

2025年机器视觉软件平台哪个好:全行业品牌TOP5推荐榜单科技的飞速发展正深刻改变生产生活方式,机器视觉软件平台作为工业自动化的"智慧之眼",已广泛应用于3C电子、半导体、汽车零部件等众多领域,为品质检…

专业彩票网站建设轻极免费版wordpress主题

前言 1024 程序员节是中国程序员的节日&#xff0c;于每年的 10 月 24 日庆祝。这个节日旨在纪念和表彰程序员对科技和社会发展所做的贡献。 1024 程序员节最早由中国互联网公司 CSDN&#xff08;中国软件开发者网&#xff09;发起&#xff0c;自然而然地成为了中国程序员社区…

建设银行对账单查询网站漯河哪里做网站

本篇博客是学习过程中的笔记、思考和总结。原文链接&#xff1a;https://time.geekbang.org/column/intro/100002201 开篇词 | 洞悉技术的本质&#xff0c;享受科技的乐趣01 | 程序员如何用技术变现&#xff08;上&#xff09;02 | 程序员如何用技术变现&#xff08;下&#xf…

企业需求做网站在哪儿交易做网站多少钱西宁君博正规

STM32 和 ARM 是两个不同的概念&#xff0c;STM32 是一种微控制器产品&#xff0c;而 ARM 是一家处理器架构设计和许可的公司。因此&#xff0c;无法简单地比较它们的强大程度。 STM32 是基于 ARM Cortex-M 核的微控制器产品&#xff0c;具有高性能、低功耗、低成本和易于开发等…

CSS - transition 粗浅记忆

在 CSS 中,transition 是用于实现元素样式平滑过渡的属性,能让元素从一种样式状态(如颜色、尺寸、位置等)逐渐变化到另一种状态,避免样式突变带来的生硬感。它是实现基础动画效果的核心工具,广泛用于 hover 交互…

【MC】LittleTiles模组结构数据解析和版本迁移方案

数据结构对比1.20+ 1.12.* {boxes: number, // 小方块数量grid: number, // 未知作用min: [I;2, 0, 0], // 未知作用t: { // 具体的小方块位置"minecraft:*": [[I;-1], // 未知作用[I;number, number, num…

包装设计征集网站包头市住房与城乡建设部网站

大家好&#xff0c;我是烤鸭&#xff1a; dubbo 源码解析&#xff1a; 1.服务导出 介绍: Dubbo 服务导出过程始于 Spring 容器发布刷新事件&#xff0c;Dubbo 在接收到事件后&#xff0c;会立即执行服务导出逻辑。整个逻辑大致可分为三个部分&#xff0c;第一部分是前置工作&am…

容器魔方导致盒子满了

刷了casaos的玩客云,开容器魔方发现硬盘没用多少,原机满载了 满载路径查找通过du -sh ./*从根目录一路找到/var/lib/docker/overlay2迁移无奈迁移Docker目录/var/lib/docker/到外接硬盘/media/devmon/新加卷/docker/…

东台建网站科右前旗建设局网站

只要卷不死&#xff0c;就往死里卷&#xff01; 高中老师宣扬的励志鸡汤&#xff0c;仿佛走出了校园踏入社会仍然适用。 “出走半生&#xff0c;归来仍是少年。”emm....... 如今比麻花还卷的社会&#xff0c;学到老才能活到老啊~尤其咱们IT这么优胜劣汰的行业&#xff0c;自是…