当前位置: 首页 > news >正文

南昌市建设网站/南昌网站优化公司

南昌市建设网站,南昌网站优化公司,外贸公司英文网站,seo关键词优化系统问题由来:需要大量实现某个功能,需要根据不同链接调用不同方法,并返回类似信息,但是又不同 1.将不同链接抽出一个Enum对象 例:根据不同的链接,返回的内容相似, 根据穿入的是student还是class…

问题由来:需要大量实现某个功能,需要根据不同链接调用不同方法,并返回类似信息,但是又不同

1.将不同链接抽出一个Enum对象

例:根据不同的链接,返回的内容相似,

根据穿入的是student还是class,返回对应的表的表头和显示的条数

public enum TableHeadEnum {//简单举例STUDENT("student","<tr><th>序号</th><th>姓名</th><th>性别</th><th>年龄</th></tr>",5),CLASS("class","<tr><th>序号</th><th>年级</th><th>班级</th><th>人数</th></tr>",3),;/*** 前台请求的url*/private String url;/*** 需要查询的表头*/private String tableHead;/*** 需要显示的数据*/private Integer size;public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getTableHead() {return tableHead;}public void setTableHead(String tableHead) {this.tableHead = tableHead;}public Integer getSize() {return size;}public void setSize(Integer size) {this.size = size;}TableHeadEnum(String url, String tableHead, Integer size) {this.url = url;this.tableHead = tableHead;this.size = size;}//根据不同的url返回不同的 TableHeadEnum 对象public static TableHeadEnum getTableHeadEnum(String url){for (TableHeadEnum tableHeadEnum : TableHeadEnum.values()) {String uurl=tableHeadEnum.url.toLowerCase();if (url.toLowerCase().equals(uurl)){return tableHeadEnum;}}return null;}}

2.将业务逻辑部分根据URL反射

将所有反射的方法名统一格式,方便拼接调用(也可以在定义enum 的时候加一个方法名的属性)

   public String getSuggestions(MessageQuery messageQuery) throws Exception {TableHeadEnum tableHeadEnum = TableHeadEnum.getTableHeadEnum(messageQuery.getDataUrl());//得到的enum类为空,直接返回if (isEmpty(tableHeadEnum)){return "";}messageQuery.setSize(tableHeadEnum.getSize());//所有的方法是 get+dataUrl拼接起来的messageQuery.setMethodName("get"+messageQuery.getDataUrl());//从枚举类得到定义的表头String head=tableHeadEnum.getTableHead();//调用方法获取表格信息内容String body=getMes(messageQuery);//拼接表头(enum定义)和表格数据(反射获取)head+=body;return head;}/***MessageQuery 是我根据该条件查询值
**/@AutowiredMessageResult message; //将所有通过反射实现的方法放到某一个统一的类中public String getMes(MessageQuery messageQuery)throws Exception{Class clz = messageQuery.getClass();Method m = clz.getMethod(messageQuery.getMethodName(), messageQuery.getClass());//执行对应的方法,获取返回值(需要把我查询条件一起传过去)String string=(String) m.invoke(message,messageQuery);return string;}

3.将反射的类定义,并写里面的方法逻辑

@Component//因为要用到dao层或者service层,需要将反射的类注入到spring容器
public class SuggestionsResult {@AutowiredDataDao runDataDao;/*** 获取student信息*/public String getstudent(MessageQuery){//实现逻辑,返回拼好的表格bodyreturn "";    }/*** 获取班级信息*/public String getclass(MessageQuery){//实现逻辑,返回拼好的表格body  return "";  }
}

注:可能会出现在反射的类中无法使用 @Autowire 注入dao层,原因可能是未将自定义实现逻辑的类注入到spring中

注注:小白代码,如有疑问,欢迎大佬指正

http://www.jmfq.cn/news/5191669.html

相关文章:

  • 做网站运营工作流程/引流推广平台软件
  • 网站建设基础内容/优化师
  • 公司网站开发费用兴田德润在哪儿/百度快照推广
  • 网站建设手稿/关键词优化是什么工作
  • 高唐网站建设/游戏优化
  • 一个网站做数据分析要多少钱/推广资源整合平台
  • 微信公众号开发需要什么技术/seo免费入门教程
  • 开公司先建设网站/每天4元代发广告
  • 网站运营招聘要求/专业做网站建设的公司
  • 网站运营建设方案/关键词排名优化如何
  • 做腰椎核磁证网站是 收 七/北京线上教学
  • 周口住房和城乡建设网站/鸡西seo顾问
  • 高端网站制作模板/搜索引擎优化的主题
  • 新疆网站建设/百度上怎么做推广
  • 上海市城乡住房建设厅网站/广告投放平台都有哪些
  • 北京成立公司/北京百度seo关键词优化
  • 一个优秀的网站/友缘在线官网
  • 徐州专业做网站的/深圳广告投放公司
  • 中国建设信息港网站/it学校培训学校哪个好
  • 公司网站平台的作用/网络推广平台软件
  • 3gcms企业手机网站整站源码asp/公众号代运营
  • 网站标题怎么设置/网页设计教程
  • appcms程序怎么做网站/百度认证营销推广师
  • 哪些网站可以医生做兼职/网络推广怎么推广
  • 网站怎么做文字禁止复制/百度广告代理公司
  • 网站首页菜单栏模块怎么做的/it培训机构培训费用
  • 做网站商城/西地那非片能延时多久每次吃多少
  • 网站建设功能覆盖范围/天眼查询个人信息
  • 水文化建设网站/焊工培训技术学校
  • 绵阳手机网站制作/五种网络营销推广方法