为了代码的可维护性、易读性、可拓展性,一般将一些多处到的字符串设置为变量(或其他可作为常量的内容),在后期进行值修改时,只需要改变量值即可。
设置常用变量(不局限于常量)的三种方式:
1、yml/properties文件配置
比如平常使用redis,mysql,一般都使用配置文件方式配置。
注入(使用)一般采用注解方式
也可以通过配置类的形式注入(不常用,略)
2、设置专门常量类
可以设置多样化的数据类型。加final就是常量,不可更改;注意如果常量后期进行了更改,需要clean缓存后重新编译。
3、在使用的类里设置常量/变量属性
同理,常量的话就加final;static 修饰的变量:不管new多少个实例,也只创建一次,节省空间。
三种方式的应用场景:
一、yml/properties文件配置
此种方式主要用于不同开发环境下快速切换。
比如mysql数据库:线上release、开发dev、本地local用的分别是 线上正式数据库、线上测试数据库、本地电脑数据库
可以创建三个yml/properties,设置spring.active.profiles即可快速切换整套环境。
redis同理,如果遇到redis测试正式只有一个redis数据库,指定database非常方便。
还有三个环境如果业务的账号密码等不同,都可以自定义变量的方式注入
二、常量类
常量类主要适用于多个类用到的变量或常量。
实际放变量或是常量其实不需要较真,只是专门设置一个类用来放固定的东西。
一些常用的东西也可以根据业务集中放于某个“常量类”,这样方便以后针对业务来改大量常量/变量。
三、类变量
这种用于工具类比较多
这些 变量/常量 其他地方不需要用到,主要服务于所在的类。
实际开发中,也会用于非工具类中。
本类中可能使用一个值超过了一次或两次,但其他类不需要这个值,这个值可以设置为类变量。一方面比较清晰,一方面后期修改也是只用改一次。
还有字符串设置为一个变量/常量后再使用,代码也会更清晰。
如果这个值只使用一次,一般开发时会将这个变量定义在最近的地方,只是为了开发方便和快速查看。
最后
这些常量/变量都是实际开发中为了好维护、方便高效来设置的,所以并没有严格的规则,还是哪种方式带来更大的优势就用哪种方式。