javaweb应用定义系统配置常量

在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);
  }
}

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即可,而第二种方式需要对配置文件进行管理,且使用较为麻烦。对于不是特别复杂的系统推荐第一种方式。

猜你喜欢

转载自blog.csdn.net/qq_28379809/article/details/81380709
今日推荐