@Intercepts({ @Signature(type = StatementHandler.class, method = "prepare", args = {
Connection.class, Integer.class }) })
MetaObject metaObject = SystemMetaObject.forObject(statementHandler);
以上两处如果按照老师的方法写可能会报错。
这三个方法的执行顺序
setProperties(Properties properties)拿到属性值
plugin(Object target)对要拦截对象进行过滤
intercept(Invocation invocation)执行拦截
而以这种形式配置,就可以通过这个方法拿到属性值
private String test;
@Override
public void setProperties(Properties properties) {
this.test = properties.getProperty("test");
// TODO Auto-generated method stub
}
当在配置文件中这样配置plugins标签时
<plugins>
<plugin interceptor="com.kingback.interceptor.PageInterceptor" />
</plugins>
拦截器中的setProperties()方法没用