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后台杂记的更多相关文章

  1. Java后台工程师面试杂记——不跳不涨工资星人跳槽经历

    经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧. 在某互联网公司工作了近一年的时间,但是频繁的业务需 ...

  2. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  3. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

  4. java后台对前端输入的特殊字符进行转义

    转自:http://www.cnblogs.com/yangzhilong/p/5667165.html java后台对前端输入的特殊字符进行转义 HTML: 常见的帮助类有2个:一个是spring的 ...

  5. java后台获取Access_token的工具方法

    本方法主要通过java后台控制来获取Access_token,需要你已经知道自己的ID跟密码 因为微信的权限设置大概每天可以获取两千条,每条有效时间为2小时 /** * 输入自己的id跟密码,获取微信 ...

  6. js前台加密,java后台解密实现

    参考资料: JS前台加密,java后台解密实现

  7. java后台异步任务执行器TaskManager

    java后台异步任务执行器TaskManager 此方式基于MVC方式: 一,使用任务: @Resource private TaskManager taskManager; public strin ...

  8. fastJson java后台转换json格式数据

    什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  9. encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)

    encodeURIComponent编码后java后台的解码 (AJAX中文解决方案) 同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题. 原来 ...

随机推荐

  1. EM算法索引

    把这n个{试验结果来自B的概率}求和得到期望,平均后,得到B出正面的似然估计,同理有p和q. 重复迭代,直到收敛为止 http://blog.csdn.net/junnan321/article/de ...

  2. Mongoose学习(3)--设置环境变量

    比如我一套代码数据库代码分为中文站和英文站,每个表中我都有一个site_code字段来区分, 两个站点部署在不同的人服务器,这个时候我们就用系统环境变量来区分, 下面直接在mac下设置环境变量 vim ...

  3. c# 获取当前行的位置信息

    StackTrace st = new StackTrace(new StackFrame(true)); StackFrame sf = st.GetFrame(0); //文件位置 Console ...

  4. 使用adb命令查看android中的数据库

    在采用数据库操作时,经常会出现查询或删除等操作语句执行失败,但是有找不到具体原因.下面将介绍一种命令行方式进行数据库操作,来验证android中的数据库操作语句是否正确等. 具体操作步骤如下: (1) ...

  5. 基于BASYS2的VHDL程序——数字钟(改进版)

    扩展到时分秒.加了入调时电路,但不知道为什么有两个按键不好使.而且不知道以何种方式假如按键消抖电路,因为加入后会多个时钟控制一个信号,物理不可实现.调试电路待解决.还有,四个数目管中间的那两个圆点怎么 ...

  6. 基于BASYS2的VHDL程序与烧写——按键消抖程序

    请尊重作者版权,转载请注明源地址http://www.cnblogs.com/connorzx/p/3548364.html 按键在按下的过程中通常会产生一段时间的抖动,为了消除这种抖动,一般采取两种 ...

  7. break和continue 都是指的最接近的内层循环

    break和continue 都是指的最接近的内层循环

  8. FFMPEG more samples than frame size (avcodec_encode_audio2) 的解决方案

    在实际的项目中,从音频设备采集到的音频的类型和编码器类型(aac ,amr)通常是不一致的. 那么我们首先需要做重采样的过程.利用swr_convert 重新采样. 这时候我们可能会遇到另外一个问题. ...

  9. 利用openssl进行base64的编码与解码

    openssl可以直接使用命令对文件件进行base64的编码与解码,利用openssl提供的API同样可以做到这一点. 废话不多说,直接上代码了.需要注意的是通过base64编码后的字符每64个字节都 ...

  10. LearnToRank

    1 概述 RankNet.LambdaRank和LambdaMART是三个关系非常紧密的机器学习排序算法.简而言之,RankNet是最基础,基于神经网络的排序算法:而LambdaRank在RankNe ...