SpringBoot 项目里多个文件都需要用到的常量(字符串,数值等)应该写在哪?

2019-10-19 14:52:45 +08:00
 1oNflow

是否应该写一个常量类,然后各个类 import 它?

5869 次点击
所在节点    Java
7 条回复
haoz1w0w
2019-10-19 14:56:04 +08:00
写公共类里呗 要是会根据环境改动写到远程配置中心
Cbdy
2019-10-19 15:08:05 +08:00
对的。可以参考 JDK 以及 spring 源码的做法
memedahui
2019-10-19 15:09:04 +08:00
写在:resources.properties

使用注解
@Value("${web.view.prefix}")
private String prefix;
xaplux
2019-10-19 15:46:40 +08:00
对楼上的回答总结一下
1. 基本不变,写在常量类中
2. 可配置,写在配置文件中
3. 微服务架构,跨服务共用,写在配置中心
chmaple
2019-10-19 15:49:17 +08:00
1、如果常量是本项目写死的,直接构建一个 Constants 命名结尾的类,直接定义 public final static 变量就成;
2、如果是按照启动环境( dev/test/prd )区分的,写在对应环境的 yml 中,然后用三楼的方式获取;
3、如果是启动时从外部环境加载的,写个单例的 ConstantsUtil 工具类,系统启动的时候构造一下把值拉进来。
zzl22100048
2019-10-19 18:40:20 +08:00
也可以在配置文件中调用环境变量 @value 赋值
V2exUser
2019-10-20 09:41:47 +08:00
我一般按用途来区分,如果常量仅作为不影响程序逻辑的展示使用(如国际化),那么放在常量内里;如果常量值会影响程序走向,为防止被修改,一般建 enum 来强调。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/610934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX