泛型
1.泛型类。泛型接口。泛型方法。
2.T和Object区别
- T是编译时检查,不用强转;
- 运行时检查,需要强转。
- 通配符T(Type) ,E(element),K(key),V(value),名字上的意义,没有差别;
- ?和T的区别
- class<T> 在实例化是要替换成具体的类;不可以public Class<T> clazz;
- class<?> 通配泛型,代表任何类;可以public Class<?> clazz;
Filter
1.作用:实现url级别的拦截
2.实现:
- web.xml配置
<filter>
<filter-name>hap-enhance</filter-name>
<filter-class>com.hand.hap.core.web.HapEnhanceFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>hap-enhance</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 实现filter接口
public abstract interface Filter{
public abstract void init(FilterConfig paramFilterConfig) throws ServletException;
public abstract void doFilter(ServletRequest paramServletRequest, ServletResponse paramServletResponse, FilterChain
paramFilterChain) throws IOException, ServletException;
public abstract void destroy();
}
- init方法,初始化filter对象,接收传递参数
- doFilter,实现拦截后的处理
PageHelper
1.如何使用分页插件https://pagehelper.github.io/docs/howtouse/
2.包括不安全分页,由ThreadLocal引起
3.QueryInterceptor 规范https://pagehelper.github.io/docs/interceptor/
- 拦截mybatis的query方法,获取Mappedstatement,BoundSql等信息