Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在调试模式下查看target_类代理变量属性?_Java_Spring_Eclipse_Spring Tool Suite_Cglib - Fatal编程技术网

Java 如何在调试模式下查看target_类代理变量属性?

Java 如何在调试模式下查看target_类代理变量属性?,java,spring,eclipse,spring-tool-suite,cglib,Java,Spring,Eclipse,Spring Tool Suite,Cglib,我有一个类,它有一个自定义作用域,通过proxyMode作用域设置将其注入到一个单例作用域对象中。在STS或Eclipse中调试时,我通常能够查看变量并检查其内容,但事实并非如此,因为它显示了对象的某些代理版本 变量选项卡中显示的内容: 名称:someClass 值:SomeClass$$EnhancerBySpringCGLIB$$9c15e764(id=148) 解压此变量时,其所有属性的值均为null,但单击变量本身确实会显示代理对象的toString()方法的准确表示形式 还有许多附加属

我有一个类,它有一个自定义作用域,通过proxyMode作用域设置将其注入到一个单例作用域对象中。在STS或Eclipse中调试时,我通常能够查看变量并检查其内容,但事实并非如此,因为它显示了对象的某些代理版本

变量选项卡中显示的内容:

名称:
someClass

值:
SomeClass$$EnhancerBySpringCGLIB$$9c15e764(id=148)

解压此变量时,其所有属性的值均为null,但单击变量本身确实会显示代理对象的toString()方法的准确表示形式

还有许多附加属性,例如
CGLIB$CALLBACK{N}
,其中N是某个整数,在后面跟时似乎没有具体的结果,并且似乎没有显示对象
someClass
的实际属性

问题:

  • 是否缺少可以查看这些代理变量的插件
  • 这是用户错误吗
  • 我甚至不知道从哪里开始,在这个话题上有什么我可以读的吗
  • 类别定义:

    @Component
    @Scope(scopeName = "myCustomScope", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public class SomeClass implements Serializable {
    
    以前关于该主题的一些研究似乎没有产生有益的结果:

    • --这似乎不是特定于STS或Eclipse的

    我担心您无法直接查看代理类的内容。但是,如果调用了代理类中的方法,则可以在代理类中添加断点。这应该可以让您获得当前类实例的内部状态。@MarcusK。谢谢你的回复;我希望你错了,这样我才能找到办法,但我也担心你是对的。谢谢您的时间。我找到了这篇解释如何检索底层对象的文章。这需要反思。