SpringBoot系列:Spring Boot配置文件与常用注解

Spring SpringMVC SpringBoot 常用注解说明 Spring SpringMVC SpringBoot 常用注解说明Spring注解与xml配置的区别不使用注解的案例@Autowired@Qualifier@Resource@Service使用注解来构造IoC容器@Component@Controller@Service@ RepositorySpring常用注解汇总Spring MVC@Controller@RequestMapping使用 ... 阅读详情

一、配置文件

Spring Boot遵循约定大于配置的惯例,旨在简化开发,它默认集成了很多配置项,我们基本不需要做太多的配置就可以正常运行。如需覆盖原有属性,或者完善一些设定,我们需要自行进行配置。

Spring Boot使用一个全局的配置文件,配置文件名是固定的application,文件格式支持yml或者properties,也即配置文件为application.yml或者pplication.properties,凭个人喜好或者项目要求自行选取。

系列示例采用的是yml格式。

yml格式语法为k:(空格)v,空格不可省略,以缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的。

这里我们配置了启动的端口为10900,即覆盖默认8080端口。

当我们需要不同的环境配置时,例如开发、测试、生产可能配置项都不同,那我们可以使用spring.profiles.active来指定。其中{profile}对应你的环境标识,比如application-dev.yml表示开发环境,application-prod.yml表示生产环境。

所以现在起作用的是application-dev.yml里面的配置,我们简单的在两个文件中设置了不同的app.env属性,至于怎么访问,我们稍后讲到。

更多的配置大家可以翻阅相关文档,例如可以设置server.servlet.context-path来更改项目访问路径,在之后的示例中,我们遇到某项配置再对其进行详细讲解。

二、常用注解

1.@Value

Spring Boot为我们提供@Value注解快速访问配置文件属性,当然这个注解并不是Spring Boot专属,它只是扩展了yml文件的支持。

还记得刚刚的app.env属性吗?我们该怎么去获取属性值呢,这就需要用到@value注解了,还有我们现在在配置文件中,新增自定义属性my.name。

新建一个Controller,getName获取name属性的值,而@Value("${my.name}")则表示获取配置文件中my节点下name的值。

同理getEnv用来获取app.env的值。

通过请求地址,如我们期待的,我们可以获取到对应的值,并且app.env的值恰也是application-dev.yml种的配置,证明spring.profiles.active是有效的。

2.@ConfigurationProperties

当我们同一个节点下存在多个属性需要注入时,一个一个属性注入可能有些繁琐,所以此时我们可以使用@ConfigurationProperties,它能将多个属性注入到对应的实体类中。

针对my节点下的girl节点,我们创建对应的实体,并使用@ConfigurationProperties(prefix = "my.girl")表明我们需要注入的节点,属性即可注入。其中@Component声明为bean对象。

编写getGirl方法进行验证。

访问请求,可以正常获取配置中的信息。

3.@PropertySource

当配置项并不在application中,而在其他的配置文件里时,我们则需要@PropertySource来帮忙了,例如我们现在config目录下的config.properties。

同样创建一个Boy实体,除了刚刚讲到的@ConfigurationProperties(prefix = "boy")外,我们还需要指明配置文件的位置,即@PropertySource(value = "classpath:config/config.properties"),表示访问的是config下的config.properties。当然不要忘了@Configuration,它声明这个一个配置项类。

类似的测试接口。

同样没有悬念的测试结果。

额外提一下,在使用@PropertySource注解时,IDEA编译器会发出spring boot Configuration Annotation Proessor not found in classpath的错误提醒,这个在pom中引入spring-boot-configuration-processor依赖后解决。为什么是额外说呢,因为好像不引入也没啥子影响。

源码地址:https://github.com/imyanger/springboot-project/tree/master/p2-springboot-config

什么是SpringBoot?,它有什么好处以及Spring Boot 常用注解详解。 阅读详情

相关推荐

SpringBoot开发——Spring Boot 的9大类常用注解

SpringBoot开发——Spring Boot 的9大类常用注解

bjzhang75的博客 1429

SpringBoot注解大全 转

2019年3月17日22:30:10 一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。 @Configuration 等同...

Z.X的博客 726

Second-Order Cone Programming(SOCP) 二阶锥规划

个人博客Glooow,欢迎各位老师来踩踩 文章目录1. 二阶锥1.1 二阶锥定义1.2 二阶锥约束2. 优化问题建模3. 类似问题转化3.1 二次规划3.2 随机线性规划4. 问题求解 1. 二阶锥 1.1 二阶锥定义 在此之前,先给出二阶锥的定义。 在 kkk 维空间中二阶锥 (Second-order cone) 的定义为 Ck={[ut]∣u∈Rk−1,t∈R,∥u∥≤t} \mathc...

Glooow的博客 3万+

【yml文件的解释】

手写yml文件和一件导入yml文件进行使用,还有内容的字段的详细解释

DiKL_Y的博客 1万+

间充质干细胞衰老机制与抗衰老干预策略研究

干细胞技术在再生医学领域具有广阔应用前景,其中间充质干细胞(MSCs)因其多向分化潜能和免疫调节特性备受关注。细胞衰老是影响干细胞治疗效果的共性难题,表现为增殖能力下降、端粒缩短等特征。通过表观遗传学分析发现,衰老MSCs存在DNA甲基化异常和组蛋白修饰改变;线粒体功能障碍导致ATP产量锐减,ROS累积显著增加。针对这些机制,研究者开发了包括小分子化合物筛选、CRISPR基因编辑和三维培养优化在内的多种干预策略。这些技术在组织修复、抗衰老治疗等应用场景中展现出重要价值,例如可提升心肌梗死修复效率2.3倍,缩

weixin_33502772的博客 227

别再死磕SPWM了!手把手教你用STM32实现SVPWM驱动PMSM电机(附代码)

本文详细介绍了如何使用STM32实现SVPWM驱动PMSM电机,对比传统SPWM方案,SVPWM在电压利用率、电流THD、转矩脉动和稳态温升等方面均有显著提升。通过克拉克变换优化、扇区快速判断和矢量作用时间补偿等核心算法,结合STM32硬件加速技巧,实现高效电机控制。附代码示例,助力开发者快速掌握SVPWM技术。

weixin_28733777的博客 273

springboot之二(高级应用)

SpringBoot高级-内容概述** SpringBoot自定配置 SpringBoot事件监听 SpringBoot流程分析 SpringBoot监控 SpringBoot部署 一、SpringBoot自动配置-Condition-1 Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean @Conditional要配...

落日的博客 882

CAD制图

CAD制图可以提高设计效率和准确性,并方便文档的存档和交流,是现代工程设计中不可或缺的一部分。·CAD三维开发是指使用计算机程序和工具来创建、编辑和操作三维模型、图形和设计的过程。它在工程、建筑、制造和游戏等领域广泛应用。CAD三维开发可能涉及到复杂的图形算法、性能优化、并行计算等方面的内容,因此需要深入学习和实践,以提高开发的效率和质量。

RZer的博客 1651

config

spring boot加载配置文件 1.通过value("${}") pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s...

狂奔小蚂蚁的博客 512

AI智算-K8s+vLLM & Ray:DeepSeek-r1 671B 满血版分布式推理部署实践

自从上次发布 【AI-智算】K8s+SGLang实战:DeepSeek-r1:671b满血版多机多卡私有化部署全攻略] 文章后,本次将演示另一个主流推理引擎工具——vLLM,结合K8s、LWS、Ray、Volcano等技术栈,部署DeepSeek-r1 671b 满血版分布式推理集群,并对比其与SGLang推理引擎的性能表现。

Kason_iWiki 1825

Python爬虫技术:使用Playwright和Twitter API v2高效获取Twitter/X数据完全教程

遵守规则:始终遵循Twitter的使用条款和速率限制错误处理:实现完善的错误处理和重试机制数据质量:进行数据清洗和验证性能优化:使用异步处理和合理的延迟设置可维护性:模块化代码,便于维护和扩展。

2201_76125261的博客 671

yaml 文件的注释怎么写

YAML(YAML Ain’t Markup Language)文件的注释有一些限制,因为 YAML 的主要目的是为了提供可读性强的配置文件,而不是为了包含注释。请注意,YAML 规范没有官方的多行注释语法,因此多行注释通常会被视为文本值,而不会被解释为注释。此外,一些特定的工具和解析器可能支持自定义的注释方式,但这通常不是 YAML 标准的一部分。请根据你的具体需求和项目的规范,选择适合你的注释方式。进行单行注释是最常见的方式。

servepeople的博客 1万+

Python 爬虫实战:深入闲鱼平台,抓取二手好物价格波动数据

本文介绍了如何利用Python爬虫抓取闲鱼(Xianyu)二手交易平台的商品价格数据并分析其波动趋势。通过requests和BeautifulSoup库实现网页数据抓取与解析,使用pandas进行数据清洗和存储,最后借助matplotlib可视化价格波动情况。文章详细展示了从网页结构分析、数据采集到波动率计算和趋势可视化的完整流程,并建议通过定时任务实现持续数据更新。该项目能为二手市场交易者提供价格参考,帮助优化买卖决策。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3375

.yml文件_SpringBoot系列:Spring Boot配置文件与常用注解

一、配置文件Spring Boot遵循约定大于配置的惯例,旨在简化开发,它默认集成了很多配置项,我们基本不需要做太多的配置就可以正常运行。如需覆盖原有属性,或者完善一些设定,我们需要自行进行配置。Spring Boot使用一个全局的配置文件,配置文件名是固定的application,文件格式支持yml或者properties,也即配置文件为application.yml或者pplication.p...

weixin_39947396的博客 363

基于深度学习的堰塞坝表层颗粒物质识别研究

本文提出一种基于深度学习的堰塞坝表层颗粒物质智能识别方法,针对颗粒分布散乱、背景复杂的问题,采用"大颗粒逐个识别、密集小颗粒分块识别"策略。结合Mask R-CNN、SLIC和AlexNet构建识别模型,通过无人机影像实现自动识别。实验表明该方法精度超过90%,具备迁移能力。文章提供了Python实现代码,涵盖数据预处理、SLIC分割、模型构建(Mask R-CNN和AlexNet)及训练流程,为堰塞坝应急抢险提供技术支持。

huanghm88的专栏 181

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

idea yml变成文件了_SpringBoot系列:Spring Boot配置文件与常用注解

一、配置文件Spring Boot遵循约定大于配置的惯例,旨在简化开发,它默认集成了很多配置项,我们基本不需要做太多的配置就可以正常运行。如需覆盖原有属性,或者完善一些设定,我们需要自行进行配置。Spring Boot使用一个全局的配置文件,配置文件名是固定的application,文件格式支持yml或者properties,也即配置文件为application.yml或者pplication.p...

weixin_33226548的博客 615

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Spring Boot 常用注解汇总

Spring Boot是一个快速开发框架,快速的将一些常用的第三方依赖整合(通过Maven子父亲工程的方式),简化xml配置,全部采用注解形式,内置Http服务器(Jetty和Tomcat),最终以Java应用程序进行执行。

Locus的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SpringBoot 常用注解汇总

目录Spring Boot 常用注解汇总一、启动注解 @SpringBootApplication@SpringBootConfiguration 注解,继承@Configuration注解,主要用于加载配置文件@EnableAutoConfiguration 注解,开启自动配置功能@ComponentScan 注解,主要用于组件扫描和自动装配二、Controller 相关注解@Controller@RestController 复合注解@RequestBody@RequestMapping@GetMapp

m0_67401153的博客 5万+

Spring Boot 项目常用注解汇总(全面超详细总结-代码示例)

SpringBoot项目中常见的注解,要熟记这些注解,以便于更好的开发项目。

lxx913318的博客 6391

40 个 Spring Boot 常用注解

一、Spring Web MVC 与 Spring Bean 注解 Spring Web MVC 注解 @RequestMapping @RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的支持。 @RequestMapping注解对请求处理类中的请求处

Android系统优化 6409

Spring、SpringMVC、SpringBoot常用注解

目录 一、Spring常用注解 1、@Configuration 2、@Import 3、@ImportResource 4、@Bean 5、@Value 6、@Primary 7、@Autowired 8、@Qualifier 9、@Resource(J2EE里面的注解) 10、@controller 11、@Service 12、@Repository 13、@Mapper(Mybatis的注解) 14、@Component 15、@Scope 16、@Lazy(tru

半桶水的博客 3540

40 个 SpringBoot 常用注解

来源:https://ramostear.com/ 一、Spring Web MVC 与 Spring Bean 注解 Spring Web MVC 注解 @RequestMapping @RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的支持。 .

【优快云】 6055

SpringBoot常用注解总结

今天我们来深入探讨Spring Boot中的常用注解,这些注解是简化配置、自动装配组件和实现声明式服务的关键。无论你是初学者还是有经验的开发者,掌握这些注解都将大大提高你的开发效率。本文将详细介绍每个注解的作用及其用法,并给出实际应用示例。

2302_77758423的博客 5891

Spring Boot常用注解

Component注解是一个通用的注解,可以用来标注任何Spring管理的bean,像@Service,@Controller,@Repository都是@Component注解的别名。用途:@Data是一个复合注解,集成了@Getter,@Setter,@ToString,@EqualsAndHashCode,@RequiredArgsConstuctor等注解。用途:用于标识控制层组件,是@Component注解的别称,用于标识Spring MVC控制器,处理Web请求并返回视图。

东皋长歌的专栏 2902

Spring Boot框架中常用注解

【代码】Spring Boot框架中常用注解。

qq_44628330的博客 2639
上一篇: SpringBoot系列:快速开始Spring Boot
下一篇: SpringBoot系列:Spring Boot集成Swagger2
杨小格
博客等级 码龄10年 19粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值