param

使用IDEA搭建SpringBoot-web项目

时光毁灭记忆、已成空白 提交于 2019-11-25 23:29:04
使用IDEA开始SpringBoot-web的开发 使用idea搭建项目 新建项目 启动项目 使用idea搭建项目 新建项目 首先打开idea选择file->new->project; 使用Spring Initializr创建项目; 填写项目信息; 选择web项目; 选择项目存放路径以及填写项目名; 完成这一步后IDEA可能会在右下角提示导入依赖,选择 Enable Auto-Import 项目创建完成后项目结构如图所示 日常开发都是在src/main/下进行的,其中java文件夹存放java类,这些类应该在cn.im9750.springboot包下,SpringbootApplication是启动类,里面包含一个main方法,把它当做普通java项目启动即可; resources文件夹是存放配置文件和静态资源的文件夹 启动项目 创建controller; 在刚才创建的项目中创建controller子包,并添加TestController类 在TestController中编写代码如下: @Controller public class TestController { /** * 访问 '/test' 即可调用该方法 * @param param 访问时可携带参数 * @return 返回hello,world字符串到浏览器 */ @GetMapping ( "/test"

Redis实战之限制操作频率

牧云@^-^@ 提交于 2019-11-25 23:16:59
最近沉迷于业务开发无法自拔 ,有一段时间没有更新博文了,后续博文内容计划把一些业务场景下的实战方案,或者比较好的设计思路进行分享,就不像之前围绕着一个主题,消耗很多的时间去整理相关内容(憋大招),后续可能一篇的内容量就没那么丰富,但是尽可能针对一个点进行更细化,或者更深入的分析,通过不断分享和自我复盘,进行经验的沉淀,同时提高博文分享的频率 场景 场景1 留言功能限制,30秒 内只能评论 10次,超出次数不让能再评论,并提示:过于频繁 场景2 点赞功能限制,10秒 内只能点赞 10次,超出次数后不能再点赞,并禁止操作 1个小时,提示:过于频繁,被禁止操作1小时 场景3 上传记录功能,限制一天只能上传 100次,超出次数不让能再上传,并提示:超出今日上线 抽离本质 在业务开发的过程中,我们不断的参与各种业务场景的方案设计,往往很容易碰到很类似的场景,只不过当前所属的业务模块不一样,其实这些需求的本质是解决同一个问题,当遇到这种场景的时候,我们需要根据自己经验分析抽离出需求的本质问题,实现一个通用的解决方案,让自己的解决方案更有价值,这可能就是区别于你是有灵魂的工程师还是cp(copy paste)最强王者吧。 分析上面3个业务场景,可以从中发现其中有相似的逻辑,称它为同类的问题,现在我们就是要抽离这个问题,设计一个通用的解决方案,勾画相同逻辑流程图: 通过分析上面的需求场景

借鉴微信小程序表单校验wxValidate的源码里边的正则

感情迁移 提交于 2019-11-25 21:26:59
微信小程序表单校验wxValidate的源码,里边的正则表达式用起来不错 /** * 表单验证 * * @param {Object} rules 验证字段的规则 * @param {Object} messages 验证字段的提示信息 * */ class WxValidate { constructor(rules = {}, messages = {}) { Object.assign(this, { rules, messages, }) this.__init() } /** * __init */ __init() { this.__initMethods() this.__initDefaults() this.__initData() } /** * 初始化数据 */ __initData() { this.form = {} this.errorList = [] } /** * 初始化默认提示信息 */ __initDefaults() { this.defaults = { messages: { required: '这是必填字段。', email: '请输入有效的电子邮件地址。', tel: '请输入11位的手机号码。', url: '请输入有效的网址。', date: '请输入有效的日期。', dateISO: '请输入有效的日期(ISO),例如

mybatis 中<if>标签bool值类型为false判断

匆匆过客 提交于 2019-11-25 19:36:58
mybatis 中<if>标签bool值类型为false判断 对百度的某些文章深恶痛绝, 只是ctrl+c和ctrl+v。并且还不能解决问题。 昨天实现一个功能,根据文章的id或者别名查找文章。 起初采用mybatis的Example进行查询,对参数artName进行判断,如果是纯数字就byId查询,否则就by别名。由于查询文章的同时,需要关联查询文章分类标签,所以选择采用select语句映射的方式查询,但又不想写两个查询方法,就使用了mybatis中动态sql。 /** * 查询文章 * @param artName id 或 别名 * @param byId 如果是 true 则按照id查询 * 否则 按照别名查询 * @return */ public Article selectByArtName ( @Param ( value = "artName" ) String artName , @Param ( value = "byId" ) Boolean byId ) ; mapper中定义了一个方法,有artName和byId两个参数,artName 表示id 或 别名,byId表示是否通过id查询。 对byId Boolean值进行判断时,出现false值无效的情况,在百度了一圈发现,普遍采用 < if test = " byId != null " > a.id