我是Spring MVC的新手,我有会话范围组件bean
@Component
@Scope(value="session",proxyMode = ScopedProxyMode.TARGET_CLASS)
public class NotificationService {
static int unreadMessageCoutner;
static ArrayList<WebSocketNotificationDTO> unreadMessagesDTO;
@PostConstruct
public void initBean(){
this.unreadMessagesDTO = new ArrayList<WebSocketNotificationDTO>();
}
@PreDestroy
public void destroyBean(){
this.unreadMessagesDTO.clear();
this.unreadMessagesDTO=null;
}
@Override
public void addNotification(WebSocketNotificationDTO notification){
this.unreadMessagesDTO.add(notification);
}
@Override
public void incrementCounter(){
this.unreadMessageCoutner++;
}
@Override
public int getUnreadMessageCoutner(){
return this.unreadMessageCoutner;
}
@Override
public ArrayList<WebSocketNotificationDTO> getUnreadMessages(){
return this.unreadMessagesDTO;
}
@Override
public void setCounter(int counter){
//To do
}
}
我已经单次更新了这个bean的属性,并通过@autowired调用了这个bean的这些方法,现在我想在调用get方法时获取这些属性的更新值。
实际上,每当我在不同的@controller中自动装配这个bean时,现在获取NULL值。
这是否可以在SPRING中获得单个更新值?
先谢谢
注意:每个用户会话都有不同的值。