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. 用live555将内网摄像机视频推送到外网服务器,附源码

    最近很多人问,如何将内网的摄像机流媒体数据发布到公网,如果用公网与局域网间的端口映射方式太过麻烦,一个摄像机要做一组映射,而且不是每一个局域网都是有固定ip地址,即使外网主机配置好了每一个摄像机的映射 ...

  2. 分布式session之redis解决方案实现

    一.首先Session Session 是客户端与服务器通讯会话技术, 比如浏览器登陆.记录整个浏览会话信息.session存放在服务器,关闭浏览器不会失效. Session实现原理 客户对向服务器端 ...

  3. 编译thrift外篇-关于默认链接包-(使用mapkeeper运行leveldb成功)

    根据 https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path 使用 ldconfig -v ...

  4. apeche配置虚拟主机

    一.开启虚拟主机: 在apache的配置文件httpd.conf中将Include conf/extra/httpd-vhosts.conf这行打开. 二.配置虚拟主机: 在extra/httpd-v ...

  5. RequireJS 加载 js 执行顺序

    初次接触RequireJS 对文档理解不很透彻,自己通过测试测到的执行顺序: 文档结构: |-amaze | -js | -amazeui.js | -jquery.min.js | -main.js ...

  6. Spring MVC 和 Struts2 的区别?

    1.请求拦截级别 struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入 struts2实际上是通过setter ge ...

  7. EDM文件编写规范及注意事项

    [设计EDM邮件] (1)乱码:你没法知道所有用户的系统环境,因此使用utf8来避免乱码是非常重要的 (2)绝对URL:若是相对URL,用户在打开页面是将看不到图片 (3)图片Alt属性:大多数邮件服 ...

  8. hdu-4857 逃生(拓扑序)

    题目链接: 逃生 Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) Proble ...

  9. 【C/C++】获取当前系统时间

    #include<iostream> #include<Ctime> using namespace std; int main() { time_t t; time(& ...

  10. js跳转方式 【转】

    第一种:    <script language="javascript" type="text/javascript">           wi ...