Spring中数据绑定的两种方式(BeanWrapperImpl或者DataBinder)
2023-09-27 14:20:23 时间
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()); } }
相关文章
- 记spring boot线上项目内存优化
- 减少Spring boot启动内存(开发环境)
- Spring Boot的exit code
- 批处理框架 Spring Batch,数据迁移量过大如何保证内存?
- 护网必备技能:Spring Boot 接口数据加解密 功能实现
- 深入实践Spring Boot2.2.3 Redis测试
- 《Spring 5 官方文档》5. 验证、数据绑定和类型转换(三)
- Spring MVC返回Json数据
- CSDN日报191023:循环神经网络;Spring Security 实战干货
- 面试反馈 Spring Cloud 的25连环炮
- Spring boot 和Vue前后端分离的入门培训
- Spring Boot 多数据配置更新
- Spring Initializr中生成的mvnw是干吗的?
- Java 权限框架 Shiro 实战二:与spring集成、filter机制
- 《Spring 3.0就这么简单》——1.4 持久层
- spring mvc 返回json数据的四种方式
- Spring单例与线程安全小结
- 如何妙用Spring 数据绑定机制
- 在Spring Boot中加载初始化数据
- Spring MVC利用Hibernate Validator实现后端数据校验
- spring框架返回json数据null转空字符串
- 一文整理总结常见Java后端面试题系列——Spring篇(2022最新版)
- spring boot 2 全局统一返回RESTful风格数据、统一异常处理
- spring cloud 搭建(事务)
- spring boot + vue + element-ui全栈开发入门——前端编辑数据对话框
- 玩转spring boot——简单登录认证
- spring-data-redis 使用
- spring-cloud-gateway获取post请求body参数以及响应数据
- 【Java工具类】Java HttpUtils工具类-Apache CloseableHttpClient、Spring RestTemplate