javaweb应用定义系统配置常量

在JavaWeb开发中,管理常量通常有两种方式:1. 定义常量类存储静态常量,方便引用但修改不便;2. 将常量放入配置文件,利用Spring的@Value注解读取,配置灵活但使用相对复杂。对于无需频繁修改的配置,建议使用常量类,正式项目推荐使用配置文件结合Spring的注解方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在web应用的开发中,经常会需要使用一些常量,比如文件存放路径。比较愚蠢的办法就是在代码中直接使用字符串。这样做的弊端是显而易见的,使得项目的维护变得困难。


这里提供两种常用的办法:

1.定义一个类专门来存储这些静态常量,示例如下:

/**
 * 定义常量的类
 */
public Class SystemVariable{
  public static final String IMG_PATH = "/file/img";
  public static final String REDIS_USER_MAP_PATH = "userMap";
  //...
}
@Component
public Class RedisHelper{
  @Autowired
  private RedisTemplate redisTemplated; //redis
  /*
   * 根据userId从Redis中获取user
   */
  public User getUser(int userId){
    return (User)redisTemplated.opsForHash().get(SystemVariable.REDIS_USER_MAP_PATH, userId);
  }
}

这种方式的好处是引用简单,坏处是将配置写到了java代码而非配置文件中,如果系统部署后还要修改这部分的配置就会比较麻烦。


2.放在配置文件里,然后利用spring的@Value(“name”)来使用。

//application.properties
REDIS_USER_MAP_PATH: "userMap"
@Component
public Class RedisHelper{
  @Autowired
  private RedisTemplate redisTemplated; //redis

  @Value(name="${REDIS_USER_MAP_PATH}")
  private String userPath;
  /*
   * 根据userId从Redis中获取user
   */
  public User getUser(int userId){
    return (User)redisTemplated.opsForHash().get(userPath, userId);
  }
}

这种方式的好处是将配置写入配置文件,部署时无需修改代码而是直接修改配置文件。


总结:比较以上两种方式可以发现,第一种方式使用更为简单——只需要Class.VariableName即可,而第二种方式需要对配置文件进行管理,且使用较为麻烦。对于无需部署或部署后不需要修改的推荐使用第一种方式,主要还是应用于个人练习项目,而对于正式的工程系统还是推荐使用第二种方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值