微服务,微架构[五]之springboot读取properties文件

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 介绍      很多项目中都会有配置文件,比如说配置 数据库的连接项目常量定义等等参数配置,那么这些参数在项目启动的时候就会被读到指定的容器中,可供项目初始化将必要的对象都初始化完成,如果参数配置错误或参数没有定义,项目在启动的时候就会相应的报错,提示某某参数没有定义或者不对,今天我给大家介绍一下springboot如何读取这些初始化参数,让项目启动时候能够自动的加载,并且应用到我们的项

介绍

     很多项目中都会有配置文件,比如说配置 数据库的连接项目常量定义等等参数配置,那么这些参数在项目启动的时候就会被读到指定的容器中,可供项目初始化将必要的对象都初始化完成,如果参数配置错误或参数没有定义,项目在启动的时候就会相应的报错,提示某某参数没有定义或者不对,今天我给大家介绍一下springboot如何读取这些初始化参数,让项目启动时候能够自动的加载,并且应用到我们的项目中。

一、spring boot 默认定义

默认参数文件名称为  application.properties 或者 application.yaml   ,这两种格式选其中任意一种可以作为项目启动的配置文件,两种格式有所不同

     properties 格式  my.web.name=eshengtai  类似键值对的方式

     yaml 格式   

              my:

                    web:

                          name:eshengtai  

当然也可以自定义配置文件,作为项目的其他配置参数文件,比如  redis.properties,dataSource.properties可以单独定义配置文件,让springboot在启动时帮我们加载,在程序中可以方便的使用


二、读取配置文件

    1、读取application.properties配置文件中,自定义的参数

project.name=eshengtai
project.url=www.eshengtai.net

     读取参数自定义内容

/**
 * 读取application properties文件内容
 * @author wolf.yansl
 *
 */
@Component
public class ApplicationProperties {
	@Value("${project.name}")
    private String name;
    @Value("${project.url}")
    private String url;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
    
}

2、读取自定义properties文件,读取自定义参数,eshengtai.properties

spring.boot=boot
spring.url=spring.io

      读取参数定义内容

/**
 * 读取自定义配置文件,eshengtai.properties
 * @author wolf.yansl
 *
 */
@Component
@PropertySource("classpath:eshengtai.properties")  
public class EShengTaiProperties {
	@Value("${spring.boot}")
	private String springName;
	@Value("${spring.url}")
	private String url;
	public String getSpringName() {
		return springName;
	}
	public void setSpringName(String springName) {
		this.springName = springName;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
}
3、动态切换配置文件properties文件,在不同的开发环境下,如何可以达到,只需要修改参数就可以动态读取不同的参数文件,从而方便快捷的使用properties的内容

    配置文件有4个

application-dev.properties  开发环境  ,server.port=1111服务器端口1111

application-prod.properties 正式环境 ,server.port=2222服务器端口2222

application-test.properties  测试环境 ,server.port=3333服务器端口3333

application.properties  主要启动配置文件,配置切换启动读哪个文件初始化环境 spring.profiles.active 动态切换读取配置文件,修改服务器的访问端口变化,测试

spring.profiles.active=dev    #springboot启动读取 application-dev.properties,并且访问端口为1111

spring.profiles.active=prod    #springboot启动读取 application-prod.properties,并且访问端口为2222

spring.profiles.active=test   #springboot启动读取 application-.propertiestt,并且访问端口为3333





























目录
相关文章
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
149 6
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
56 1
|
2月前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
101 5
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
163 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
1月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
195 36
微服务架构解析:跨越传统架构的技术革命
|
12天前
|
决策智能 数据库 开发者
使用Qwen2.5+SpringBoot+SpringAI+SpringWebFlux的基于意图识别的多智能体架构方案
本项目旨在解决智能体的“超级入口”问题,通过开发基于意图识别的多智能体框架,实现用户通过单一交互入口使用所有智能体。项目依托阿里开源的Qwen2.5大模型,利用其强大的FunctionCall能力,精准识别用户意图并调用相应智能体。 核心功能包括: - 意图识别:基于Qwen2.5的大模型方法调用能力,准确识别用户意图。 - 业务调用中心:解耦框架与业务逻辑,集中处理业务方法调用,提升系统灵活性。 - 会话管理:支持连续对话,保存用户会话历史,确保上下文连贯性。 - 流式返回:支持打字机效果的流式返回,增强用户体验。 感谢Qwen2.5系列大模型的支持,使项目得以顺利实施。
198 8
使用Qwen2.5+SpringBoot+SpringAI+SpringWebFlux的基于意图识别的多智能体架构方案
|
15天前
|
运维 监控 Java
为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案
本文记录并复盘了生产环境中Spring Boot应用内存占用过高的问题及解决过程。系统上线初期运行正常,但随着业务量上升,多个Spring Boot应用共占用了64G内存中的大部分,导致应用假死。通过jps和jmap工具排查发现,原因是运维人员未设置JVM参数,导致默认配置下每个应用占用近12G内存。最终通过调整JVM参数、优化堆内存大小等措施解决了问题。建议在生产环境中合理设置JVM参数,避免资源浪费和性能问题。
42 3
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
137 5
|
2月前
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
61 7
|
2月前
|
JavaScript Java API
深入解析微服务的架构设计与实践
深入解析微服务的架构设计与实践
41 0