本文目录导读:

- Python 中的
configparser(标准库) - Java Spring Boot 中的
application.yml/properties - 微服务配置中心:Nacos / Apollo
- 前端框架:Vue.js 的环境变量
.env - 基础设施:Kubernetes ConfigMap
- 总结:我该用哪种?
下面是 5 种常见场景下的“Config”使用方法:
Python 中的 configparser(标准库)
用于读写 .ini 或 .cfg 格式的配置文件。
示例文件 config.ini:
[Database] host = localhost port = 3306 user = root password = 123456 [Logging] level = INFO file = app.log
Python 代码:
import configparser
config = configparser.ConfigParser()
config.read('config.ini') # 读取文件
# 获取值
db_host = config['Database']['host']
db_port = config.getint('Database', 'port') # 自动转为int
log_level = config.get('Logging', 'level')
print(f"Connecting to {db_host}:{db_port}")
Java Spring Boot 中的 application.yml/properties
Spring Boot 通过 application.yml 或 application.properties 管理配置。
示例 application.yml:
server:
port: 8080
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://localhost:3306/db
username: root
password: secret
app:
my-config: hello
Java 代码中使用:
// 方式1:直接注入(推荐)
@Value("${app.my-config}")
private String myConfig;
// 方式2:绑定到配置类(推荐用于复杂配置)
@ConfigurationProperties(prefix = "spring.datasource")
@Component
@Data
public class DataSourceConfig {
private String url;
private String username;
private String password;
}
微服务配置中心:Nacos / Apollo
用于分布式系统统一管理配置,支持动态刷新。
Nacos 客户端使用示例 (Java):
// 1. 添加依赖 nacos-config-spring-boot-starter
// 2. 在配置文件中指定
nacos.config.server-addr=127.0.0.1:8848
nacos.config.data-id=myapp.properties
nacos.config.group=DEFAULT_GROUP
// 3. 使用 @NacosValue 动态获取
@RestController
public class ConfigController {
@NacosValue(value = "${my.app.config}", autoRefreshed = true)
private String myConfig;
@GetMapping("/config")
public String getConfig() {
return myConfig; // 修改Nacos配置后,这里会自动更新
}
}
前端框架:Vue.js 的环境变量 .env
Vue 通过环境变量区分开发/生产环境。
创建文件:
# .env.development (开发环境) VUE_APP_API_BASE=http://localhost:3000/api VUE_APP_TITLE=开发版 # .env.production (生产环境) VUE_APP_API_BASE=https://api.example.com VUE_APP_TITLE=正式版
在 Vue 组件中使用:
// 必须以 VUE_APP_ 开头 console.log(process.env.VUE_APP_API_BASE)
基础设施:Kubernetes ConfigMap
用于向 Pod 注入配置。
创建 ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
app.properties: |
key1=value1
key2=value2
app.yaml: |
debug: false
在 Pod 中使用:
apiVersion: v1
kind: Pod
spec:
containers:
- name: myapp
image: myapp:latest
volumeMounts:
- name: config-volume
mountPath: /etc/config # 挂载到容器内目录
volumes:
- name: config-volume
configMap:
name: my-config
我该用哪种?
| 你的场景 | 推荐工具 |
|---|---|
| 单机小项目(Python/Node) | 本地 .ini / .env / yaml |
| Java 微服务(需动态变更) | Spring Cloud Config / Nacos / Apollo |
| 前端项目 | .env 环境变量文件 |
| 云原生/Docker/K8s | ConfigMap / Docker Compose env_file |
| 通用、复杂配置 | YAML 格式 + 第三方库(如 pyyaml) |
如果方便,可以补充一下你的具体技术栈或使用环境(Python 的 ConfigParser” 或 “Spring Cloud Config”),我可以给你更详细的代码示例。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播