zoukankan      html  css  js  c++  java
  • Spring中数据绑定的两种方式(BeanWrapperImpl或者DataBinder)

    import org.apache.shiro.authc.AuthenticationToken;
    import org.springframework.beans.*;
    import org.springframework.validation.DataBinder;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
    
     * <p>Version: 1.0
     */
    public class StatelessToken implements AuthenticationToken {
    
        private String username;
        private Map<String, ?> params;
        private String clientDigest;
    
        public StatelessToken(String username,  Map<String, ?> params, String clientDigest) {
            this.username = username;
            this.params = params;
            this.clientDigest = clientDigest;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public  Map<String, ?> getParams() {
            return params;
        }
    
        public void setParams( Map<String, ?> params) {
            this.params = params;
        }
    
        public String getClientDigest() {
            return clientDigest;
        }
    
        public void setClientDigest(String clientDigest) {
            this.clientDigest = clientDigest;
        }
    
        @Override
        public Object getPrincipal() {
           return username;
        }
    
        @Override
        public Object getCredentials() {
            return clientDigest;
        }
    
        public static void main(String[] args) {
    
        }
        public static void test1() {
            StatelessToken token = new StatelessToken(null, null, null);
            BeanWrapperImpl beanWrapper = new BeanWrapperImpl(token);
            beanWrapper.setPropertyValue(new PropertyValue("username", "hjzgg"));
            System.out.println(token.getUsername());
        }
    
        public static void test2() {
            StatelessToken token = new StatelessToken(null, null, null);
            DataBinder dataBinder = new DataBinder(token);
            Map<String, Object> params = new HashMap<>();
            params.put("username", "hjzgg");
            PropertyValues propertyValues = new MutablePropertyValues(params);
            dataBinder.bind(propertyValues);
            System.out.println(token.getUsername());
        }
    }
  • 相关阅读:
    毕业设计过程复盘
    关于理想
    Python之网络模型与图形绘制工具networkx
    Python之Numpy:二元函数绘制/三维数据可视化/3D
    JavaScript之参数传递方式
    Python之滑动窗口
    [转] JavaScript 原型理解与创建对象应用
    [转] JavaScript 和事件
    [转] 三步将你的 React Native 项目运行在 Web 浏览器上面
    [转] Webpack 入门指迷
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/7196998.html
Copyright © 2011-2022 走看看