实习过程中boss交代的任务(以下出现的代码以及数据只给出小部分,提供一个思路)

目的:Spring中添加新的配置表,并对新的配置表进行处理;替换的新的配置表要友好,同时保证替换前后功能不能发生变化。

需要处理的配置表数据:

很明显,原配置表中的数据都是以Json的格式给出的,那么很容易在处理的过程中出现错误,现在需要将配置表换成一个友好的格式,同时保证使用Postman调试接口时,得到的响应不变。

第一步:将原配置表数据生成为一个友好的格式,我采取的格式如下:

这种方式能够通过id来合理的取到name和isNotEdit。格式转换后需要添加配置文件到配置文件list中:

其中shop_services.properties配置文件是我添加的。

第二步:在配置文件中添加<bean>方法

第三步:添加处理配置文件的类以及类的成员方法

其中最关键的部分就是try块中的处理函数,最终返回的list为ArrayList<String>类型

第四步:重写接口中的方法,从而来对配置信息进行处理

第五步:对接口进行调试

接口信息:

DataResult<GetServiceListRestResponse> getServiceList(GetServiceListRestRequest restRequest);

调试结果:接口以Json格式进行输出

总结:

(一)基本功能完成了,其中缺点有,没有进行异常处理的抛出;

(二)对于第三步可以进行优化,不需要返回ArrayList<String>,而直接以一个对象进行返回;

(三)配置文件可以进行优化,因为当增加一项时,需要修改service_json_id以及name与isNotEdit;

优化思路:https://www.cnblogs.com/jayinnn/p/9561121.html

Spring中添加新的配置表,并对新的配置表进行处理的更多相关文章

  1. spring中添加google的guava缓存(demo)

    1.pom文件中配置 <dependencies> <dependency> <groupId>org.springframework</groupId> ...

  2. spring中添加redis缓存

    1.单机版的添加 spring里面配置 <bean id="redisClient" class="redis.clients.jedis.JedisPool&qu ...

  3. Spring中多个工程停多个资源文件ignoreUnresolvablePlaceholders配置

    http://www.imooo.com/ruanjiangongcheng/software-architecture-design/667686.htm

  4. spring 手动添加 bean 到容器,例子 :多数据源配置

    package com.thunisoft.spsjsb.config.db.decrypt; import com.alibaba.druid.pool.DruidDataSource; impor ...

  5. 配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XXXXX' to ALLOWED_HOSTS,在setting.py中添加‘*”无效的原因

    配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XX ...

  6. spring中@param和mybatis中@param使用差别

    spring中@param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId memberId * @return */ int selectRoleCount ...

  7. spring中@param和mybatis中@param使用区别

    spring中@param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId memberId * @return */ int selectRoleCount ...

  8. Spring框架学习(10)Spring中如何使用事务?

    内容源自:Spring中如何使用事务? 一.为什么要使用事务? 如果我们一个业务逻辑只执行一次sql,是不需要使用事务的.但如果要执行多条sql语句才能完成一个业务逻辑的话,这个时候就要使用事务了. ...

  9. Spring中AOP相关源码解析

    前言 在Spring中AOP是我们使用的非常频繁的一个特性.通过AOP我们可以补足一些面向对象编程中不足或难以实现的部分. AOP 前置理论 首先在学习源码之前我们需要了解关于AOP的相关概念如切点切 ...

随机推荐

  1. Lazarus分体式改成一体式窗口

    安装包 anchordocking和Sparta_DockedFormEditor 然后点选保存并重新编译IDE即可

  2. asp.net mvc 加三层架构 完美搭配

    http://www.hysql.org/aspnet/20180630/5712.html 先来一张项目的层级结构图: Model:模型层,主要是各种类型.枚举以及ORM框架,框架完成数据库和实体类 ...

  3. 当图片加载失败时更换图片, Firefox onerror 报错

    当图片加载失败时更换图片. <!DOCTYPE html> <meta charset="UTF-8"> <img src="http:// ...

  4. Bootstrap 3 媒体查询

    可以参考 Bootstrap  的媒体查询,写网站. html: <div class="bootstrap-3-media"> <p>Mobile-Fir ...

  5. URL简单梳理

    # DEBUG模式: 开启debug模式后,修改项目代码时按下ctrl+s可重启项目: 项目中出现bug时,浏览器与控制台会打印错误信息: 在生产环境中禁止开启DEBUG模式,有很大的安全隐患: 将D ...

  6. React native中的组建通知通信:

    有这么一个需求,在B页面pop()回到A页面,需要A页面执行刷新,那么我们可以采用以下方法: 1:在A页面Push到B页面中,加上一个A页面中的刷新函数做为参数,然后在B页面中在pop()函数封装后通 ...

  7. PHP 的命令行模式

    php CLI SAPI 内置Web Server 从版本 4.3.0 开始,PHP 提供了一种新类型的 CLI SAPI(Server Application Programming Interfa ...

  8. python 修改excel

    操作描述:需要实现数据不断写入的功能,首先,在固定位置建立一个空白的xls文件:其次,每次产生的数据先判断该xls已有几列数据,后缀上去. 具体过程: 要保证具有三个包,是xlrd,xlwt,xlut ...

  9. 学习笔记2—MATLAB的copyfile技巧

    clearclc %一.新建文件夹,%二.将原始路径下的数据剪切到新建文件夹中 path = ('E:\DFC_DMN_ASD_DATA_res\Cluster_hcc\4,6,8\Cluster_6 ...

  10. js常见知识点3.面向对象之继承、设计模式

    一.面向对象的三大特征 建议回复: 封装:屏蔽内部细节.调用外部接口实现对应功能(函数调用) 继承:子类继承父类中的属性和方法 多态(js中不存在多态的概念) 二.继承 建议回复: 继承:子类继承父类 ...