公司做网站,要准备哪些素材vs做网站怎么把网页改为自适应大小

张小明 2026/1/9 16:48:27
公司做网站,要准备哪些素材,vs做网站怎么把网页改为自适应大小,开发一个网站的成本,河北建设工程信息网官网入口前言如今#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进行投诉反馈,一经查实,立即删除!

可不可以免费创建网站房产网站开发用什么语言好

使用PyTorch编写自定义神经网络层的详细步骤 在深度学习项目中,我们常常遇到标准层无法满足需求的情况:比如想实现一种新的注意力机制、设计带有物理约束的可微模块,或者复现一篇论文中的特殊结构。这时,自定义神经网络层就成了关…

张小明 2026/1/8 20:35:34 网站建设

设计门户网站旅游做攻略的网站有哪些

网络编程与脚本开发全解析 1. Shell 安全选项 在进行文件操作时,有许多实用的安全选项,这些选项能帮助我们更安全、高效地处理文件。以下是一些常见选项及其功能: | 选项 | 功能 | | ---- | ---- | | -I | 禁用交互 | | -i | 提示是否删除每个文件 | | -L | 将擦除安…

张小明 2026/1/8 20:35:32 网站建设

网站301做排名开发网页游戏

终极文档扫描指南:NAPS2开源工具的完整使用教程 【免费下载链接】naps2 Scan documents to PDF and more, as simply as possible. 项目地址: https://gitcode.com/gh_mirrors/na/naps2 NAPS2(Not Another PDF Scanner)是一款功能强大…

张小明 2026/1/8 20:35:29 网站建设

在网站上如何做天气预报栏链接检测工具

从零搭建自动驾驶仿真环境:MetaDrive实战全解析 【免费下载链接】metadrive MetaDrive: Composing Diverse Scenarios for Generalizable Reinforcement Learning 项目地址: https://gitcode.com/gh_mirrors/me/metadrive 在自动驾驶技术日新月异的今天&…

张小明 2026/1/8 20:35:27 网站建设

印刷网站源码做同城网站赚钱吗

PMP是项目管理领域公认的黄金认证,目前已经得到全球200多个国家和地区的认可。不过最近,考下这个证书的人越来越多,不少人都在问:拿证的人这么多,这证是不是要烂大街了?2026年再考还有必要吗?今…

张小明 2026/1/8 20:35:25 网站建设

建设外贸公司网站开发公司名字起名大全

框架概述与行业背景‌ 在当今食品制造业,自动化生产线已成为主流,从原料处理到包装环节都依赖软件控制系统(如PLC和SCADA)。然而,这些系统的故障可能导致食品安全事故(如污染或召回)&#xff0c…

张小明 2026/1/8 20:35:23 网站建设