请人做网站注意事项企业宣传片策划公司

张小明 2025/12/27 18:26:12
请人做网站注意事项,企业宣传片策划公司,如何识别网站建设,org域名为什么禁止备案前言如今#xff0c;Spring Boot3 强势登场#xff0c;带来了诸多令人眼前一亮的新特性与改进#xff0c;其中自定义配置更是为开发者们提供了更为灵活且强大的能力。那么#xff0c;究竟该如何在 Spring Boot3 中实现自定义配置呢#xff1f;在深入探究自定义配置之前Spring Boot3 强势登场带来了诸多令人眼前一亮的新特性与改进其中自定义配置更是为开发者们提供了更为灵活且强大的能力。那么究竟该如何在 Spring Boot3 中实现自定义配置呢在深入探究自定义配置之前先来简单回顾下 Spring Boot3 的自动配置原理。当我们引入各种 Starter 依赖时Spring Boot 会依据类路径下的相关资源以及一系列条件注解自动配置应用程序所需的各类组件。例如引入 spring-boot-starter-webSpring Boot 便能自动配置好 Web 开发所需的基础组件像 Tomcat 服务器、Spring MVC 框架等让开发者可以迅速投身业务逻辑开发无需在基础配置上耗费过多精力。这种自动配置机制极大地提升了开发效率然而在实际项目中有时官方默认的配置难以完全契合复杂多变的业务需求此时自定义配置便派上了用场。修改默认配置Spring Boot3 为每个 Starter 都提供了默认配置这些配置在大多数常规场景下能够满足功能开发需求。但倘若我们想要修改某些默认配置操作其实相当简便。以修改 Tomcat 启动端口为例在 Spring Boot 开发 Web 应用时Tomcat 默认启动端口为 8080若要将其修改为 8888只需在 application.properties 文件中添加如下记录:server.port8888修改完成后重启项目从启动日志中便可清晰看到Tomcat started on port (s): 8888 (http)此时通过浏览器访问http://localhost:8888就能正常访问应用了。再比如配置数据库连接信息 (这里以使用 com.alibaba 的 Druid 连接池为例)同样在 application.properties 文件中添加如下配置:druid.urljdbc:mysql://192.168.0.20:3306/test druid.driver-classcom.mysql.jdbc.Driver druid.usernameroot druid.password123456 druid.initial-size1 druid.min-idle1 druid.max-active20 druid.test-on-borrowtrue如此一来就完成了对 Druid 连接池相关默认配置的修改。从这两个简单示例可以看出若要修改 Starter 模块中的默认配置只需在 application.properties 文件中添加相应的修改配置即可。自定义属性配置在 application.properties 中添加自定义属性在 application.properties 文件里我们不仅能够修改默认配置还可以自定义属性。例如添加如下自定义属性配置:myapp.custom.property1value1 myapp.custom.property2100编写 Bean 类加载属性接下来我们需要编写一个 Bean 类用于加载这些自定义属性。有两种常见方式:使用 Value 注解加载创建一个 Sam 类并添加 Component 注解以便 Spring 在启动时扫描到该类并将其纳入 Spring 容器管理。通过 Value 注解来加载属性示例代码如下:import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; Component public class Sam { Value(${myapp.custom.property1}) private String property1; Value(${myapp.custom.property2}) private int property2; // 省略getter和setter方法 }需注意使用 Value 注解时所在类必须被 Spring 容器管理且注解需传入完整的配置项 Key 值。此外Value 注解默认读取 application.properties 配置文件若要读取其他配置文件可借助 PropertySource 注解指定。使用 ConfigurationProperties 注解加载同样创建 Sam 类通过 ConfigurationProperties (prefix myapp.custom) 设置前缀属性上无需再添加额外注解示例代码如下:import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; Component ConfigurationProperties(prefix myapp.custom) public class Sam { private String property1; private int property2; // 省略getter和setter方法 }这种方式更为简洁尤其适用于批量加载具有相同前缀的多个属性。在 Controller 中注入并使用 Bean在 Controller 中注入上述 Sam Bean即可使用自定义属性。例如:import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; RestController public class SamController { Autowired private Sam sam; GetMapping(/sam) public String getSam() { return property1: sam.getProperty1() , property2: sam.getProperty2(); } }通过浏览器访问http://localhost:8080/sam便能看到控制台正常打印出 Sam 类中自定义属性的值。自定义自动配置类当默认配置与自定义属性配置都无法满足复杂业务需求时我们可以创建自定义自动配置类。创建自定义自动配置类首先创建一个类并使用 Configuration 和 ConditionalOnClass 注解。其中Configuration 表明这是一个配置类ConditionalOnClass 用于指定该自动配置类生效的条件只有当类路径下存在特定类时该配置类才会生效。假设我们要创建一个自定义的 Redis 自动配置类示例代码如下:import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; Configuration ConditionalOnClass(RedisTemplate.class) EnableConfigurationProperties(RedisProperties.class) public class CustomRedisAutoConfiguration { Autowired private RedisProperties redisProperties; Bean public RedisConnectionFactory redisConnectionFactory() { // 根据自定义的RedisProperties配置创建RedisConnectionFactory实例 // 具体实现需根据实际情况编写 return null; } Bean public RedisTemplateString, Object redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplateString, Object template new RedisTemplate(); template.setConnectionFactory(redisConnectionFactory); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setHashKeySerializer(new StringRedisSerializer()); template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); return template; } }在上述代码中ConditionalOnClass (RedisTemplate.class) 表示只有当项目中引入了 RedisTemplate 类即项目依赖了 Redis 相关库时该自动配置类才会生效。EnableConfigurationProperties (RedisProperties.class) 用于启用对 RedisProperties 配置属性类的支持通过 Autowired 注入 RedisProperties以便在配置类中获取自定义的 Redis 配置属性。编写配置属性类接着编写与自定义配置相关的属性类。例如上述自定义 Redis 自动配置类中用到的 RedisProperties 类代码如下:import org.springframework.boot.context.properties.ConfigurationProperties; ConfigurationProperties(prefix custom.redis) public class RedisProperties { private String host; private int port; private String password; // 省略getter和setter方法 }在这个类中通过 ConfigurationProperties (prefix custom.redis) 指定了属性前缀为 custom.redis意味着在 application.properties 文件中以 custom.redis 开头的属性将被绑定到该类的对应字段上。比如在 application.properties 中添加如下配置:custom.redis.host192.168.0.21 custom.redis.port6379 custom.redis.password123456Spring Boot 在启动时会自动将这些属性值绑定到 RedisProperties 类的 host、port 和 password 字段上。注册自动配置类在 Spring Boot3 中注册自动配置类的方式与之前版本有所不同。在 Spring Boot2.x 中我们通常在 Starter 的 resources/META - INF/spring.factories 中注册自动配置类但在 Spring Boot3.x 中该机制已被官方弃用。取而代之的是在 src/main/resources/META -INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中注册自动配置类。假设我们的自定义 Redis 自动配置类全限定名为 com.example.config.CustomRedisAutoConfiguration那么在 AutoConfiguration.imports 文件中添加如下内容:com.example.config.CustomRedisAutoConfiguration完成上述步骤后当项目引入包含该自定义自动配置类的 Starter 时Spring Boot 会自动加载并应用该配置类实现自定义的 Redis 配置功能。总结通过以上对 Spring Boot3 中自定义配置的全面解析相信大家已经掌握了修改默认配置、自定义属性配置以及创建自定义自动配置类的方法。合理运用这些自定义配置手段能够让我们的 Spring Boot 项目更加贴合业务需求提升开发效率与代码的可维护性为打造高质量的互联网软件项目奠定坚实基础。在实际项目开发中不妨大胆尝试这些自定义配置技巧让 Spring Boot3 发挥出更大的效能。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

小程序api函数网站seo外包公司

在亚洲的东南部,隐藏着一片未被广泛探索的商业绿洲——文莱达鲁萨兰国(Brunei Darussalam)。这个国家虽小,却以其丰富的自然资源和稳定的政治环境,吸引着全球投资者的目光。对于与中国有业务往来的中国企业而言&#x…

张小明 2025/12/25 19:00:12 网站建设

大型网站服务器得多少钱微盟微商城怎么样

Visual Studio .NET IDE扩展:宏与插件的强大功能 1. 引言 Visual Studio .NET IDE具有强大的扩展性,为开发者提供了宏、插件和向导三种扩展方式。宏适合小型、非UI相关任务;插件则允许创建工具窗口、添加属性页等;向导可引导用户完成特定任务,但使用较少。下面将介绍几个…

张小明 2025/12/25 18:58:10 网站建设

如何优化网站tkdwordpress网站不收录

计算机化自适应考试ISC2在全球范围内的所有CISSP考试都以计算机化自适应考试(CAT)形式进行。从2025年10月1日起,CC、CCSP和SSCP也将只提供CAT形式的考试。基于与线性固定形式考试相同的考试内容大纲,CAT是对您的能力更精确、更有效的评估。具体如下&…

张小明 2025/12/25 18:56:09 网站建设

wordpress的vps建站流程wordpress调用指定分类的文章

第一章:人机协同操作的新模式探索随着人工智能与自动化技术的深度融合,人机协同操作正从传统的指令响应模式演进为动态感知、实时反馈与联合决策的新型交互范式。这种新模式不仅提升了任务执行效率,还增强了系统在复杂环境中的适应能力。智能…

张小明 2025/12/27 1:32:55 网站建设

营销网站建设是什么意思国内 免费 云服务器

【光子 AI】AI Agent 架构师 / 技术专家 10 道必考面试题和必过答案完整讲解 文章目录 【光子 AI】AI Agent 架构师 / 技术专家 10 道必考面试题和必过答案完整讲解 一、请你整体设计一个企业级 AI Agent 平台的核心架构,并说明关键技术选型 【考察重点】 【必过答案要点】 【…

张小明 2025/12/25 18:52:06 网站建设