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());
        }
    }
  • 相关阅读:
    javascript中单体模式的实现
    javascript中的继承实现
    如何改变String类的值,保证地址不变!
    测试题答案
    Springboot实现文件(头像)上传
    关于处理登录,到底用拦截器还是过滤器
    关于Spring MVC中的406错误
    SSM开发过程Bug集锦
    String类型日期自动转Date数据类型
    spring的核心配置文件——ApplicationContext.xml的配置
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/7196998.html
Copyright © 2011-2022 走看看