摘要:
``` package com.ligotop.core.utils; import com.ligotop.core.exceptions.BusinessException; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class HttpMethodUtil { public 阅读全文
摘要:
参考《架构探险 从零开始写javaweb框架》4.6章节 自定义ThreadLocal ThreadLocal容器,存放线程局部变量,设计目标:解决线程并发问题,使用场景:存放JDBC Connection,达到事务控制的能力。 将connection放在DBUtil中的静态变量,多个线程操作DBU 阅读全文
摘要:
本篇博客参考《架构探险 从零开始写java web框架》4.3章节 1代理接口: 2代理链(责任链模式,同一个对象可以被多个Proxy层层代理): 4Proxy接口的抽象实现,模板方法模式: 5举例某个具体的Proxy实现: 6自定义注解@Aspect,作为代理标记: 7初始化框架并创建代理对象放入 阅读全文
摘要:
JDK动态代理【接口】: CGLIB动态代理【类或接口】: 依赖: 编码: Spring AOP: 增强类: 编程式: 声明式: 切面: 动态代理拦截了类中所有方法,需要在代码中对所拦截的方法名加以判断,不太优雅的做法。 Spring AOP也拦截了类中所有方法,可通过切面Advisor(增强类Ad 阅读全文
摘要:
测试代码: ``` package jdktest;public class HoldCPUMain { //该车型简单占用cpu,4个用户线程,一个占用大量cpu资源,3个线程处于空闲状态 public static class HoldCPUTask implements Runnable { 阅读全文
摘要:
Get请求url不超过4000字节 Rest成熟度:level 0:使用http作为传输方式,leve 1:引入资源概念,每个资源有对应的url,level 2:使用http方法进行不同操作,使用http状态码表示不同结果,level 3:使用超媒体,在资源表达式中包含链接信息,一般做到level 阅读全文
摘要:
参数校验:简单的就逐个手动写代码校验,推荐用Valid,使用hibernate-validator提供的,如果参数不能通过校验,报400错误,请求格式不正确: 步骤1:在参数对象的属性上添加校验注解如@NotBlank 步骤2:用@Valid注解controller方法的参数对象 常用校验注解(通过 阅读全文
摘要:
同一个对象,在不同的场景,返回不同的属性,如getUserById返回User对象包含password值,而getAllUsers返回User集合,不包含password值(通过接口查看显示,序列化的时候直接忽略该属性,而非返回null),这些场景称为视图,使用JsonView: 三个步骤: 1.通 阅读全文
摘要:
概念: 在 HTML 中,, , , 阅读全文
摘要:
Mybatis的分支选择: 循环In: 阅读全文