这里对Spring Boot很新,所以会很感激一些帮助。我已经设法创建了一个会话范围的组件(使用@SessionScope注释)。此组件旨在存储我的Web应用程序的给定会话的用户信息。
SessionComponent.java
@Component
@SessionScope
public class SessionComponent {
private String sessionId;
private User user;
// Getters and setters
}
AnotherClass.java
@Component
public class AnotherClass {
@Autowired
private SessionComponent session;
public void method() {
// Breakpoint here
System.out.println(session.getSessionId());
}
}
代码在实践中运行良好。例如,我可以在具有@Autowired我的SessionComponent的AnotherClass中,并且代码可以工作。
但是,SessionComponent在IDE的调试器(变量视图)中没有正确显示。我正在使用IntelliJ社区版。当我在AnotherClass中设置断点时(如下所示),会话的字段在调试器中都显示为“null”。但是,使用evaluate表达式工具可以运行session.getSessionId()
并返回正确的结果。
有什么想法吗?谢谢!