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编码后无法再后台解码的问题. 原来 ...
随机推荐
- Spring MVC之简单入门
一.Spring MVC简介: 1.什么是MVC 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型(Model).视图(View)及控制器(Contr ...
- webstrom编辑react语法报错解决
问题: 解决办法:1.把 JavaScript 的版本设置为 JSX Harmony. 2.把<script>type类型改为:text/jsx
- IP address could not be resolved: Name or service not known
[root@test ~]# /usr/local/mysql/bin/mysqld2018-08-05T07:00:33.647509Z 0 [Warning] [MY-011070] [Serve ...
- Dockder的CS模式:
Docker的守护进程一直运行, yw1989@ubuntu:~$ ps -ef | grep docker : 就是docxker的守护进程 root : ? :: /usr/bin/dockerd ...
- (深入理解计算机系统)AT&T汇编指令
AT&T汇编指令学习(GCC) 寄存器命名原则: 相比inter语法,AT&T语法格式要求所有的寄存器都必须加上取值符"%". 操作码命令格式: 源/目的操作数顺序 ...
- Codeforces Round #401 (Div. 2) C Alyona and Spreadsheet —— 打表
题目链接:http://codeforces.com/contest/777/problem/C C. Alyona and Spreadsheet time limit per test 1 sec ...
- Gym - 100676F Palindrome —— 并查集
题目链接:https://vjudge.net/contest/155789#problem/E 题解: 由于是回文串,所以可以先将在对称位置的字符放在同一个集合(如果期间有两个非‘?’,且不相等,则 ...
- haproxy参数解析
HAProxy工作于隧道模式,其仅检查每一个连接的第一个请求, 1. option abortonclose #当服务器负载过高时,将自动关闭队列中处理时间较长的连接请求 2. option http ...
- SQL Server中数据类型对应C#中数据类型
在SQL Server 2008中新建数据表的时候有33种数据类型可选,下面分别列举了这些类型对应的C#数据类型 //----------------------------------------- ...
- C# GDI生成清晰【高质量】图片
对于GDI+,在正常的操作,Bitmap,Graphcis,DrawImage或者DrawString ,生成图片的话,会产生很多杂点,或者是图片质量不稳定.尤其是在读取图片后,生成缩略图之后,文件会 ...