Поле суперкласса равно нулю - PullRequest
0 голосов
/ 18 сентября 2018

Я - новая пчела о cglib, сегодня я пишу какой-то код cglib, код показывает как показано ниже

public class App {
    public static void main(String[] args) {
        //filed
        UserService userService = new UserService();

        RealSubject realSubject = new RealSubject();
        realSubject.setUserService(userService);
        Enhancer enhancer = new Enhancer();

        enhancer.setSuperclass(realSubject.getClass());

        enhancer.setCallback((MethodInterceptor) (obj, method, args1, proxy) 
                      -> proxy.invokeSuper(obj, args1));
        realSubject = (RealSubject) enhancer.create();
        realSubject.doService();

         // i expect get userService but null 
        System.out.println(realSubject.getUserService());
    }
}

os: uname -a

txt Darwin tes.local 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64

jdk: java -version

➜ ~ java -version Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

как я могу получить поле?Пожалуйста, прости мой плохой английский.

...