Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Spring 调试时具有空字段的自动连线会话作用域对象(IntelliJ)_Spring_Spring Mvc_Spring Boot_Intellij Idea_Autowired - Fatal编程技术网

Spring 调试时具有空字段的自动连线会话作用域对象(IntelliJ)

Spring 调试时具有空字段的自动连线会话作用域对象(IntelliJ),spring,spring-mvc,spring-boot,intellij-idea,autowired,Spring,Spring Mvc,Spring Boot,Intellij Idea,Autowired,这里对Spring Boot还很陌生,所以希望能得到一些帮助。我已经设法创建了一个会话范围的组件(使用@SessionScope注释)。此组件旨在为我的web应用程序存储给定会话的用户信息 SessionComponent.java @Component @SessionScope public class SessionComponent { private String sessionId; private User user; // Getters and

这里对Spring Boot还很陌生,所以希望能得到一些帮助。我已经设法创建了一个会话范围的组件(使用@SessionScope注释)。此组件旨在为我的web应用程序存储给定会话的用户信息

SessionComponent.java

@Component
@SessionScope
public class SessionComponent {
     private String sessionId;
     private User user;

     // Getters and setters

}
@Component
public class AnotherClass {
    @Autowired
    private SessionComponent session;

    public void method() {
        // Breakpoint here
        System.out.println(session.getSessionId());
    }
}
AnotherClass.java

@Component
@SessionScope
public class SessionComponent {
     private String sessionId;
     private User user;

     // Getters and setters

}
@Component
public class AnotherClass {
    @Autowired
    private SessionComponent session;

    public void method() {
        // Breakpoint here
        System.out.println(session.getSessionId());
    }
}
该准则在实践中效果良好。例如,我可以在另一个类中使用@Autowired my SessionComponent,代码可以正常工作

但是,SessionComponent在我的IDE的调试器(变量视图)中没有正确显示。我正在使用IntelliJ社区版。当我在另一个类中设置断点(如下所示)时,会话的字段在调试器中都显示为“null”。但是,使用evaluate expression工具可以运行
session.getSessionId()
,并返回正确的结果


有什么想法吗?谢谢

对于请求范围的bean,我也面临同样的问题。