получение значения бина области видимости сеанса Spring с помощью функции Field.getInt - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть требование прочитать значение конкретного свойства bean-объекта сессионной области, используя динамический код. Ниже приведен код, в котором я получаю правильное значение в client_id_1, где client_id дает мне 0.

Бин Session Scoped:

@Component("sessionUser")
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class SessionUser implements Serializable {
}

Код для получения значения из Bean-объекта сессионной области

try{
    Class cls = SessionUser.class;
    int client_id_1 = sessionUser.getClient_id();

    Field sessionField = cls.getDeclaredField("client_id");
    sessionField.setAccessible(true);
    int client_id = sessionField.getInt(sessionUser);

    System.out.println("sessionUser:  " +client_id_1 + " " + client_id);
 }catch(Exception ex){

 }
...