大体分成两种方式 一种是具体类 一种是根据接口生成代理对象,每种内部都会区分是否传入原始对象 看方法签名
WithTarget 即需要传入 原始对象,
WithoutTarget 即不需要传入原始对象,