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

公司建网站多少钱合适wordpress调用指定分类的文章

公司建网站多少钱合适,wordpress调用指定分类的文章,wordpress php 採集,洛阳做网站哪家好本篇文章主要介绍Java如何给已有实体类动态的添加字段并返回新的实体对象且不影响原来的实体对象结构。 参考代码如下&#xff1a; 引入依赖包 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2.2</…

本篇文章主要介绍Java如何给已有实体类动态的添加字段并返回新的实体对象且不影响原来的实体对象结构。

参考代码如下:

引入依赖包

   <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2.2</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version></dependency>

代码实现

DynamicBean.java

import net.sf.cglib.beans.BeanGenerator;
import net.sf.cglib.beans.BeanMap;import java.util.Map;public class DynamicBean {private Object target;private BeanMap beanMap;public DynamicBean(Class superclass, Map<String, Class> propertyMap) {this.target = generateBean(superclass, propertyMap);this.beanMap = BeanMap.create(this.target);}public void setValue(String property, Object value) {beanMap.put(property, value);}public Object getValue(String property) {return beanMap.get(property);}public Object getTarget() {return this.target;}/*** 根据属性生成对象*/private Object generateBean(Class superclass, Map<String, Class> propertyMap) {BeanGenerator generator = new BeanGenerator();if (null != superclass) {generator.setSuperclass(superclass);}BeanGenerator.addProperties(generator, propertyMap);return generator.create();}
}

ReflectUtil.java

import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.PropertyUtilsBean;import java.beans.PropertyDescriptor;
import java.util.Date;
import java.util.Map;@Slf4j
public class ReflectUtil {public static Object getTarget(Object dest, Map<String, Object> addProperties) {PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();PropertyDescriptor[] descriptors = propertyUtilsBean.getPropertyDescriptors(dest);Map<String, Class> propertyMap = Maps.newHashMap();for (PropertyDescriptor d : descriptors) {if (!"class".equalsIgnoreCase(d.getName())) {propertyMap.put(d.getName(), d.getPropertyType());}}addProperties.forEach((k, v) -> {String sclass = v.getClass().toString();if (sclass.equals("class java.util.Date")) {//对日期进行处理propertyMap.put(k, Long.class);} else {propertyMap.put(k, v.getClass());}});DynamicBean dynamicBean = new DynamicBean(dest.getClass(), propertyMap);propertyMap.forEach((k, v) -> {try {if (!addProperties.containsKey(k)) {dynamicBean.setValue(k, propertyUtilsBean.getNestedProperty(dest, k));}} catch (Exception e) {log.error("动态添加字段出错", e);}});addProperties.forEach((k, v) -> {try {String sclass = v.getClass().toString();if (sclass.equals("class java.util.Date")) {//动态添加的字段为date类型需要进行处理Date date = (Date) v;dynamicBean.setValue(k, date.getTime());} else {dynamicBean.setValue(k, v);}} catch (Exception e) {log.error("动态添加字段值出错", e);}});Object obj = dynamicBean.getTarget();return obj;}
}

使用示例

创建Student实体类:

@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Student implements Serializable {private String name;
}

测试

@Slf4j
public class MyTest {public static void main(String[] args) {Student student = new Student();student.setName("公众号:小小开发者");log.info("student = {}",JSON.toJSONString(student));Map<String, Object> propertiesMap = new HashMap<>();propertiesMap.put("age", 25);Object obj = ReflectUtil.getTarget(student, propertiesMap);log.info("动态添加属性: = {}",JSON.toJSONString(obj));}
}

测试结果

student = {“name”:“公众号:小小开发者”}

动态添加属性: = {“age”:25,“name”:“公众号:小小开发者”}

可以看到,我们动态为对象添加的属性和属性值已经成功实现!

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

相关文章:

  • 我的网站突然找不到网页了开发网页需要哪些技术
  • 如何作做网站站长工具友链查询
  • 网站页面优化方法wordpress首页tag标签调取
  • wordpress付费观看成都seo工程师
  • 性价比最高的网站建设做花生的网站
  • 景县做网站深圳市网站建设外包公司
  • 网站怎么做百科校园网站策划书
  • 随州市网站建设公司网站建设策划书模板
  • 营销网站的问题与优势东营做网站的公司
  • 北京给公司做网站多少钱cnu摄影官网
  • 网站内容如何更新共享门店新增实时收款
  • wordpress add_action 是什么意思企业网站优化的弊端
  • 金华模板建站定制网站三水网站制作公司
  • 去哪网网站设计风格营销策划公司名称大全
  • 贵阳手机网站制作腾讯邮箱注册入口官网
  • 做外贸首先要做网站代账公司网站模板
  • 建设执业资格注册中心官方网站纵横seo
  • 网站开发及建设费用wordpress 导入md
  • 用phpcms v9搭建手机网站后您没有访问该信息的权限!官方建设网站
  • 江苏省交通厅门户网站建设管理承德做网站公司
  • wordpress 二次开教程灰色关键词排名优化
  • 威海做网站的seo优化师
  • 如何快速的制作h5页面九江seo
  • 做网站高手二级网站域名
  • 一条龙平台网站seo查询站长之家
  • 建设局网站简介网页搜索青骄第二课堂
  • 品牌策划公司广告语上海专业排名优化公司
  • wordpress软件模板下载seo网站关键词优化快速官网
  • 浙江省住房建设局网站首页当当网网站内容建设的分析
  • 网站目录权限 user贵阳市网站做的最好的