java后台杂记
1.在@Select使用动态SQL有 "<=" 时要转义:<![CDATA[ <= ]]>
2.assert函数即断言,也即做出一些假设,程序运行时如果假设不成立,程序就会中断。实际上我们在调试一个出错的程序时,由于程序出错的位置往往不是错误起因的位置,我们需要追溯错误的起源,就需要在前方的一定位置确保某个变量的值符合一定的条件。一般涉及到金钱计算的都用到。
Assert.notNull(Money, "Moneycannot be null");
3.调用别的项目的接口
restTemplate.postForEntity(RmiUrlConstant.UPDATE_CAMPUS_URL[对接接口], campusUpdateModel[传入参数], ResponseModel.class[接收类型]).getBody();
4.authorize权限
方法上写:
@AuthorityFunction(name = "文章列表", type = FunctionTypeEnum.CONSOLE_ARTICLE, authority = "console.article.list")
@PreAuthorize("hasAuthority('console.article.list')")
页面上写:
sec:authorize="hasAuthority('console.article.list')"
5.@Autowired自动把bean里面引用的对象的setter/getter方法省略 6.如果subject中有aRoleName角色才能访问someMethod方法,否者抛出异常AuthorzationException
@RequiresRoles('aRoleName')
public void someMethod(); 7.要求subject中必须同时含有file:red和write:aFile的权限才能执行someMethod()方法,否者抛出异常AuthorzationException
@RequiresPermissions({'file:red','write:aFile'})
public void someMethod(); 8.@Param注解可以使SQL语句用#{}或${} 9.Freemarker模板的优点:可以根据提供的数据和创建好的模板,去自动创建html静态页面 10.Lombok插件的作用:可以通过注解帮我们消除臃肿的代码。比如:用@Date后可以不用写get/set方法 11.Private static final long serialversionUID = 1L; 作用是使版本统一,不会出现版本不一致错误 12.@override 用于重写父类方法,方法名跟参数不一致时便报错 13.@AllArgsConstructor 为该类产生无参的构造方法和包含所有public参数的构造方法(为lombok注解) 14.@AfterReturning 后置增强,方法正常执行完后时执行 15.@Component 把普通pojo实例化到spring容器,相当于配置文件中的<bean id="" class=""> 16.@Rointcut("execution(* com.savage.*(..))") 表示匹配com.savage中所有公有方法 17.@Before 前置通知,在方法执行之前执行 18.shiro.notAuthenticated 表示未认证通过的用户 19.shiro.principal 输出当前用户信息 20.shiro.authenticated 已认证通过用户,不包含记住的用户 21.@MapperScan 扫描Mapper类的路径 22.@EnableCaching 为spring boot提供了缓存管理功能 23.@Configuration 用于定义配置类,可替换xml配置文件,被注解的类内部包含一个或多个被@Bean注解的方法,这些方法江北扫描,并用于构建bean定义,初始化spring容器,但不能用于final类 24.@Aspect 把当前类表示为一个切面供容器读取 25.(FTL指令) #assign用于在页面上定义一个变量 26.@Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员 27.@Inherited 允许子类继承父类的注解 28.SQL timestamp类型作为区别数据和修改的标识,只是递增的数字,不保留日期或时间(若要记录日期或时间,请使用 datetime 数据类型。)比如:某条记录同时被两个人A和B读取并且正在修改。A先修改完成然后保存了,然后B再保存的时候,会由于时间戳不一致(因为A之前先保存修改了时间戳)导致B保存失败 29.@Target 用于设定注解的使用范围 30.@Retention 可以用来修饰注解。@Retention(RntentionPolicy.RUNTIME) 表示注解不仅被保存到class文件中,JVM加载class文件后仍存在 31.(Mybatis-Plus注解)@TableField(exist = false) 表示该实体类的属性不是数据表的字段,但又是必须用到的。 32.@interface 不是接口是注解类,使用@interface注解时,自动继承了java.long.annotation.
而Annotation接口可以实现三种功能:1.声明类:class。2.声明类别:category。3.声明扩展:Extension 33.@EnableGlobalMethodSecurity 判断用户对某个控制层的方法是否有访问的权限 34.@Qualifier 限定描述符,用于细粒度选择者 35.StringUtils.trimToEmpty() 判断输入的参数是否为null,为nul就返回""字符串,否者去掉字符串两边的空格或制表符 36.Enum.valueof() 枚举类转成string类型
Enum.values() 返回存储枚举对象地址,可以for循环输出属性 37.@RequiresAuthentication 验证用户是否登录,相当于方法 subject.isAuthenticated()为true时 38.DateTime.parse() 将日期和时间的字符串形式转成等效的时间 39.stirng的equals方法和contentequals方法区别:
equals方法只有在另一个对象是string类型情况下才返回true
contentEquals只要求另一个对象是charsequence或其子类的对象
java后台杂记的更多相关文章
- Java后台工程师面试杂记——不跳不涨工资星人跳槽经历
经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧. 在某互联网公司工作了近一年的时间,但是频繁的业务需 ...
- pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...
- ajax提交数据到java后台,并且返回json格式数据前台接收处理值
1.前台html页面.有一段代码如下: 账 户: <input type="text" name="userName" id="userN& ...
- java后台对前端输入的特殊字符进行转义
转自:http://www.cnblogs.com/yangzhilong/p/5667165.html java后台对前端输入的特殊字符进行转义 HTML: 常见的帮助类有2个:一个是spring的 ...
- java后台获取Access_token的工具方法
本方法主要通过java后台控制来获取Access_token,需要你已经知道自己的ID跟密码 因为微信的权限设置大概每天可以获取两千条,每条有效时间为2小时 /** * 输入自己的id跟密码,获取微信 ...
- js前台加密,java后台解密实现
参考资料: JS前台加密,java后台解密实现
- java后台异步任务执行器TaskManager
java后台异步任务执行器TaskManager 此方式基于MVC方式: 一,使用任务: @Resource private TaskManager taskManager; public strin ...
- fastJson java后台转换json格式数据
什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)
encodeURIComponent编码后java后台的解码 (AJAX中文解决方案) 同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题. 原来 ...
随机推荐
- FIL代币是什么?
自从比特币价格暴涨.区块链技术火了以后,出现了币圈,币圈中有各种各样的代币,本文就和大家介绍其中的FIL代币相关内容,希望能帮助大家一点一点的了解币圈. IPFS与Filecoin的关系 ...
- 修改mysql的root的密码
首先用root账号登陆phpmyadmin,然后点击左侧的mysql,然后选择进入mysql数据库,输入以下命令:update user set password=password('123456') ...
- 电脑设备对于IT人员,犹如武器对于士兵
本人做了多年Softwarer,写些感受. 比我们早的老一代程序员更是用自己的健康总结了一些经验. 先说关于健康方面: 程序员要长期坐着,这对健康损害很大,颈椎腰椎,心肺能力都会衰减.以前只是听说,自 ...
- 信息发布员和频道管理员如何查看dedecms自定义表单内容
自定义表单的管理权限,超级管理员有,而频道管理员没有.在频道管理员的权限设置选项里,找不到自定义表单这一项.怎么办呢. 刚开始想修改权限设置选项,但觉得太麻烦.是否有偷懒取巧的办法? 在频道管理员的后 ...
- 脚踏实地学C#1-基元类型
基元类型:编译器直接支持的数据类型 基元类型直接映射到FCL类库上,如int 和Int32是等价的,只不过是int是c#提供的,Int32是FCL类库提供的. int只是Int32的别名 using ...
- c#设置系统时间后不起作用
网上设置系统时间的代码很多,但是会出现设置后没有作用的问题 遇到以上问题可以按照如下办法解决 1.项目--属性--安全性--勾选启用ClickOne安全设置,如下图所示: 2.打开app.manife ...
- 【Selenium】IE浏览器启动问题
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();ieCapabilities.setCapabi ...
- nyoj 1279 (河南省第九届ACM比赛 D 题)
思路:变换一下坐标系新的坐标系就是给定的两条直线,变换之后求 x,y 都严格递增的点的个数的max: 求 x,y 都严格递增的点的个数的max,按照x的从小到大排序,x相同的按照y的从大到小排序然后对 ...
- hdu-5744 Keep On Movin(思维)
题目链接: Keep On Movin Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- Python: PS 滤镜--素描
本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...