`
edwardpro
  • 浏览: 300593 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

用枚举来作为配置

阅读更多

一个简单的需求需要自动抓取一些http request参数到上下文中,传统的做法就是写一堆过程,好一点加一个list或者map之类的容器,其实可以用枚举来做配置的:

 

public enum RequestParam {

	V("v"), API("api"), PARAMS("data"), KEY("auth"), KEYTYPE("authType"), UA(
			"ua"), TYPE("type"),TIME("t");

	private String param;

	public String getValue() {
		return param;
	}

	public void setParam(String param) {
		this.param = param;
	}

	RequestParam(String param) {
		this.setParam(param);
	}
}

 接下来要取参数就简单了:

			for (RequestParam paramEnum : RequestParam.values()) {
				try {
					BeanUtils.setProperty(request, paramEnum.getValue(),
							getParameters().getString(
									paramEnum.getValue(), ""));
				} catch (IllegalAccessException e) {
					e.printStackTrace();
				} catch (InvocationTargetException e) {
					e.printStackTrace();
				}
			}
 这个方法并不高深,但是看起来却让代码结构看起来很舒服.
0
0
分享到:
评论

相关推荐

    Linum是另一个用Shell脚本编写Linux枚举脚本。-Linux开发

    Linum Linum是另一个用Shell脚本编写Linux枚举脚本。 描述Linum调用Linux内置命令并查询配置文件和日志文件,以收集有关系统的各种信息。 用法最好以root用户访问权限运行此脚本,因为某些信息只能作为root用户收集...

    文件服务器安装与配置.docx

    WindowsServer2012R2文件服务器安装与配置 01 文件服务器配置的相关目录 02 基础说明与安装 一、文件服务器的基础说明 文件服务器是企业里面用的最多的服务器之一,它主要用于提供文件共享。 为了配合文件服务器的...

    阿尔卡特7750SR常见命令集

    本文档从7750SR作为城域网业务路由时提供的丰富业务...本文档没有对所有命令进行枚举,对于 7750SR 所有命令和原理的讲解,可以参考随机的配置手册。 本文涉及命令均以 8.0 版本作为参考,如果存在例外将注释版本信息。

    router-config:Ubuntu 14.04 的安全路由器配置

    另一个用例是拥有比虚拟机更多的公共 IP 地址,并希望通过阻止攻击者枚举您的网络来掩盖关键服务的位置。 除了按照此目录中的配置文件指定的配置服务器之外,您还必须安装许多软件包 # Install SSH serverapt-get ...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    Swift语言开发常见问题总结.docx

    结构体方法可以替代宏实现常量配置,如预定义UIFont样式。 类型推断 利用Swift的类型推断能力减少显式类型声明。 选项集(OptSet)和可选(Optional) 使用if let、guard let解包可选值。 利用.none、.some构造可选...

    kenzer:自动化的Web资产枚举和扫描

    肯泽| 自动化的Web资产枚举和扫描 演示版 屏幕截图 跑步说明 在上创建一个帐户 导航到Settings > Your Bots > Add a new bot 创建一个名为kenzer的新通用机器人 在configs/kenzer.conf添加所有配置 使用-安装/运行 ...

    JBob平台系统下载

    JBob是基于Java和Ajax的平台系统,采用Ext JS作为前端用户界面,Et-mvc作为后台支持框架,专注于权限控制,主要用于开发企业级信息系统。 平台集成了开发环境、运行框架,主要实现了用户组织、资源与数据权限管理...

    dotfiles:MacOS的系统设置,配置文件和应用程序。 个人设定

    文件枚举通过brew软件包管理器管理的已安装CLI和GUI应用程序。 端子和外壳 在运行的 通过管理的 + 插件 配置保存在和文件 文字编辑器 作为$EDITOR 。 Vim配置位于专用的存储库中。 请参阅回购。 vscode ,如果Vim...

    mumu-core:mumu-core是一个工具核心包,主要包含web项目经常使用的某些组件,mybatis的dao封装和mybatis配置文件扫描器。各种加密工具类各种数据校验类(字符校验,手机号码邮箱重置)序列化工具类(包含java序列化工具, jboss marshalling序列化工具类)日期工具类(日期转字符串,字符串转日期)

    主要包含web项目经常使用的一些组件,包含: mybatis的dao封装和mybatis配置文件扫描器使用redis缓存的基本配置工具类druid数据源模型函数(加密数据库密码)基本实体封装常用的枚举类型日志收集配置类分页信息配置...

    ACPI规范6.5版(发布时间Aug,2022)

    在初始化时,AML解释器从定义块中提取字节码作为可枚举对象。这个可枚举对象的集合形成了一个被称为ACPI命名空间的操作系统构造。ACPI命名空间中的对象可以直接定义值,也可以由AML解释器进行求值。AML解释器在操作...

    springboot-jpa-security:Spring Data JPA和Spring Security配置示例项目

    如果您想将权限作为实体来管理...(我还没有这样做) 在此项目中,将授予ADMIN,PROJECT_MANAGER和USER特权。 权威 管理:应用程序管理员权限 PROJECT_MANAGER:项目经理,项目CRUD,负责团队CRUD USER:一般...

    COM与COM+从入门到精通(pdf版本,含源码)

    增加事件与枚举 使用ActiveXDataObject(ADO) 在服务器组件中使用Recordset对象 在客户机组件中使用ADOR 生成断开的Recodset 生成自己的RecodsctS 使用用户定义类型 错误处理 服务器客户机错误处理 使用...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    13.9 用显式接口方法实现来增强编译时类型安全性 13.10 谨慎使用显式接口方法实现 13.11 设计:基类还是接口? 第14章 字符、字符串和文本处理 14.1 字符 14.2 System.String类型 14.2.1 构造字符串 14.2.2 ...

    windowsnt 技术内幕

    从Windows 85移值到Windows NT 选择服务器角色 理解安装开关选择的使用 加入域 安装时的疑难解答 理解自动安装 使用自动安装的应答文件 理解初始化参数文件 使用$OEM$\OEMFILES论据来写软件安装脚本 使用Sysdiff.exe...

    论文研究 - 微服务架构的边缘云协同优化调度

    边缘云合作的体系结构被提出作为一种妥协的解决方案,结合了MEC和中央云的优势。 在本文中,我们研究了如何通过协作任务调度来减少MEC应用程序的平均延迟的问题。 协作任务调度被建模为非循环图上的约束最短路径问题...

    cakephp-tools:一个CakePHP Tools插件,其中包含许多有用的帮助程序,行为,组件,shell等。

    提供枚举支持作为“静态枚举” 可以使用“配置”来设置Paginator的默认设置。 通过Utility类和其他有用性提供了一个不太容易出错的inArray()方法。 TestSuite增强功能 其他一些数据库类型类 附加的功能 可设置...

    Burp Suite

    Intruder——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。 Repeater——是一个靠手动操作来补发单独的HTTP 请求,并分析应用...

    USB硬件原理图

    USB连接的建立是通过ARM发送命令来实现的,这就允许ARM在决定与USB建立连接之前完成初始化时序。而USB连接可以重新初始化而不需要拔出。  USB接口电路如图所示。在枚举中,LED指示灯根据通信的状况间歇闪烁。当...

    typescript:Formik的TypeScript编码准则和配置

    使用PascalCase作为枚举值。 使用camelCase作为函数名称。 将camelCase用于属性名称和局部变量。 不要将“ _”用作私有属性的前缀。 尽可能在名称中使用整个单词。 将isXXXing或hasXXXXed用于表示事物状态的...

Global site tag (gtag.js) - Google Analytics