内容简介:名词解释:Lookup 指数据字典,常用于表示状态,应用中通常为枚举类,页面上可作为下拉框的数据源。本文以一个小故事分享基础数据维护的一些事。晚上九点,程序在生产环境部署完成,小A终于歇了口气,开始按顺序把各种基础数据录入系统。
名词解释:Lookup 指数据字典,常用于表示状态,应用中通常为枚举类,页面上可作为下拉框的数据源。
本文以一个小故事分享基础数据维护的一些事。
痛苦的原始生活
晚上九点,程序在生产环境部署完成,小A终于歇了口气,开始按顺序把各种基础数据录入系统。
-
录入新菜单
-
录入新接口
-
录入Lookup
-
……
重复着 Control C/V ,小A回想起开发 F功能 时的场景,真是惨不忍睹。
“擦,功能简单至极,却有5个Lookup,每个Lookup居然有十几个项”,瞄完功能文档后,小A痛不欲生。
好吧!又能怎样呢?
吭哧吭哧创建了5个枚举类,完成CRUD,痛苦的把Lookup维护到待发布文档中。
接着,收集本次变更的接口。”POST请求,URI 是 /examples ……” ,小A念叨着。
偷个懒吧
“开发时要维护,打断思绪,影响心情;发布时要复制粘贴,浪费时间。要是哪天漏维护,生产环境指不定还能生个阿哥。总这么搞也不是事呀!”。睡在床上,小A思考着。
“干脆按规定格式维护到Excel里吧,写个导入程序,发布时抓Excel数据然后自动导进DB。虽然开发时仍然要维护,但起码发布时轻松很多”。
第二天,设计完 Excel 中的数据结构,几个小时后,小A快速完成了开发。录入些基础数据,测试一把,基础数据自动进入DB,爽歪歪!
向小伙伴介绍完如何维护数据之后,小A期待着下次发布的到来!
“哈哈哈哈,得亏我机智!”。两周后,看着满屏待维护的基础数据,小A乐的合不拢嘴。
几十秒,基础数据 “刷刷刷” 自动导入了DB,Perfect!
刹不住的”懒车”
眨眼过去一个月,虽然发布轻松一些,但平时反人类的维护工作还是历历在目。
上班路上,小A想着:”还能不能让我安心的干活了,非得搞定你不可”。
作为 Java 程序小哥,小A自然知道 Spring 的 XML 维护时代、注解标记时代、Spring Boot 自动搞定各种体力劳动的奇妙,小A又回想起开发时的一些细节。
XML 手工定义 Bean,繁琐不说,还容易把class维护错。基础数据也一样,繁琐,容易错,还容易漏。
<bean id="userService" class="com.example.UserService"/>
JavaConfig 方式果然爽,coding的方式还是舒服很多!
@Configuration
public class UserConfiguration {
@Bean
public UserService userService {
return new UserService();
}
}
扫描并自动注入真赞!通过 @Service 标记,它成了为类的属性, UserService 就可以被自动处理了,完美呀!
@Service
public class UserService {}
我能不能也搞个扫描,然后加载到DB呢?关于Lookup,小A立马构思了一个方案,联想到了案例。
@Lookup
public class UserStatus {
ACTIVE("ACTIVE", "正常"),
INACTIVE("INACTIVE", "注销"),
FROZEN("FROZEN", "冻结");
}
-
Lookup 是枚举类,定义
@Lookup注解,为类打上标记 -
构建时利用 maven 扫描特定 package,收集
@Lookup标记的数据,打成json文件放到jar包中 -
部署时利用程序读取json文件数据并导入到DB
-
应用运行后自动读取基础数据,解析并加载
由于实现很简单,小A慢慢的完成了设计和开发工作,各种基础数据也逐渐被处理掉,筒子们从此可以专心的干活。
后记
技术设计、开发、测试、部署过程中,会有许多臃肿、痛苦却无法避免的维护工作。这些工作需要开发规范来约定,codereview 人员需要经常提醒新人,却也会忘记维护,偶尔也会维护出错,在构建新环境时还要处理一大堆额外维护工作。
许多元数据就在程序中,有的也是跟着开发步骤走,比如:
-
利用Liquibase脚本来处理DB对象,脚本在部署包中
-
利用 Swagger 来标记接口,定制开发,自动收集并导入DB
-
利用自定义注解来处理 Lookup 等类似的数据,自动收集并导入DB
“利用安装介质,一键部署,一个 Docker 镜像搞定一切,随时随地随意构建新环境!” ,这是最开心的方式,现在许多软件产品都是运行一个镜像即可。
“ 懒 “ 出新境界吧!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed A. Shaw / Addison-Wesley Professional / 2013-10-11 / USD 39.99
Master Python and become a programmer-even if you never thought you could! This breakthrough book and CD can help practically anyone get started in programming. It's called "The Hard Way," but it's re......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!