当前位置: 首页 > news >正文

印象网站建设网站建设外贸广州

印象网站建设,网站建设外贸广州,企业网站开发需求详细文档,网站开发需要掌握的知识前言: BeanUtils默认的populate方法不会忽略空值和null值,在特定场景,我们需要原始的值避免被覆盖,所以这里提供一种自定义实现方式。 package com.hmwl.service.program;import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanu…

前言: BeanUtils默认的populate方法不会忽略空值和null值,在特定场景,我们需要原始的值避免被覆盖,所以这里提供一种自定义实现方式。

package com.hmwl.service.program;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.ContextClassLoaderLocal;import java.lang.reflect.InvocationTargetException;
import java.util.Map;/*** @Author: martin* @Date: 2023/11/01 15:13 pm* @Description: apache common 原版populate不会过滤null值,不符合使用场景*/
@Slf4j
public class CustomBeanUtils extends BeanUtilsBean {private static final ContextClassLoaderLocal<CustomBeanUtils>BEANS_BY_CLASSLOADER = new ContextClassLoaderLocal<CustomBeanUtils>() {// Creates the default instance used when the context classloader is unavailable@Overrideprotected CustomBeanUtils initialValue() {return new CustomBeanUtils();}};public static CustomBeanUtils getInstance() {return BEANS_BY_CLASSLOADER.get();}public static void setInstance(final CustomBeanUtils newInstance) {BEANS_BY_CLASSLOADER.set(newInstance);}public static void populateIgnoreEmpty(final Object bean, final Map<String, ? extends Object> properties) {try {CustomBeanUtils.getInstance().populateIgnoreNull(bean, properties);} catch (IllegalAccessException e) {log.error(e.getMessage());} catch (InvocationTargetException e) {log.error(e.getMessage());}}private final void populateIgnoreNull(final Object bean, final Map<String, ? extends Object> properties)throws IllegalAccessException, InvocationTargetException {if ((bean == null) || (properties == null)) {return;}if (log.isDebugEnabled()) {log.debug("BeanUtils.populate(" + bean + ", " +properties + ")");}for (final Map.Entry<String, ? extends Object> entry : properties.entrySet()) {final String name = entry.getKey();// 增强下,因为可能多次调用,当value为null的时候不赋值if (name == null || entry.getValue() == null) {continue;}setProperty(bean, name, entry.getValue());}}
}

原版实现:

    public void populate(final Object bean, final Map<String, ? extends Object> properties)throws IllegalAccessException, InvocationTargetException {// Do nothing unless both arguments have been specifiedif ((bean == null) || (properties == null)) {return;}if (log.isDebugEnabled()) {log.debug("BeanUtils.populate(" + bean + ", " +properties + ")");}// Loop through the property name/value pairs to be setfor(final Map.Entry<String, ? extends Object> entry : properties.entrySet()) {// Identify the property name and value(s) to be assignedfinal String name = entry.getKey();if (name == null) {continue;}// Perform the assignment for this propertysetProperty(bean, name, entry.getValue());}}

http://www.yayakq.cn/news/809591/

相关文章:

  • erp系统与网站对接长沙wordpress主题改中文字体
  • 重庆怎么站seo企业营销管理制度
  • 做游戏代练的网站项目投资网
  • 个人备案做视频网站可信赖的网站建设案例
  • 在百度做网站赚钱吗百度网盟推广的投放工具
  • 手机网站二级域名变装小说 wordpress
  • 电商网站建设应用无锡有什么网站
  • wordpress免费企业网站wordpress jiu
  • 2000做网站贵么网站开发PHP程序员招聘
  • 做徽标哪个网站素材多少儿编程证书含金量排名
  • 深圳专业建网站公司排行推广普通话的宣传语
  • 成都网站编辑地名公共服务网站建设
  • 什么是网站推广?深圳企业网站制作推广运营
  • 长安英文网站建设封面制作app
  • 渭南市住房和城乡建设局官方网站百度竞价排名收费标准
  • 推荐个网站免费的手机网站做淘宝客
  • 做影视网站规模不大股票网站模板 dedecms
  • 如何开发网站平台可以发外链的网站或平台有哪些
  • 网站建设与管理好过吗怎么选择做网站的公司
  • 网站访问量很大怎么办帮小公司代账一个月费用
  • 竞价网站做推广方案wordpress国外主题加载慢
  • 网站更换服务器怎么做沈阳正规网站建设哪家便宜
  • 网站建设 云计算榆林市 网站建设
  • 为什么要建设o2o网站影视小程序源码
  • 营销型网站重要性天津的网站建设公司哪家好
  • 做个外贸网站一般需要多少钱网站要害字
  • 做母婴网站设计思路长沙最新确诊病例
  • 网站开发脚本语言和数据库前端开发培训班学出来有用吗
  • 网站权重最高是多少wordpress内页打不开
  • 做网站都需要什么软件烟台网站建站