Beanutils工具类,封装数据的三种方式,单例模式

时间:2024-01-21 22:35:09

org.apache.commons.beanutils.Beanutils;
  Beanutils
    setProperty(Object obj,String name,Object value)
      Object obj:被赋值的对象
      String name:属性名
      Object value:属性值
    getProperty(Object obj,String name) 获取指定属性的属性值
      Object obj: 对象
      String name: 属性名

    populate(Object bean, Map<String,String[]> properties)
      Map数据封装到指定Javabean中
      Object bean: 要将数据封装的javaBean对象
      Map<String, String[]> properties
        key: 属性名
        value:String[]:属性值
        properties.put("属性名",new String[]{"属性值"})

熟练运用三种读取从配置文件读取数据封装到javaBean中

A:用properties文件封装键值对数据,直接用集合properties进行读取和解析

B:用xml配置文件封装数据,用DOM解析进行读取(需要用到dom4j.jar辅助工具包)

C:用注解@Interface进行数据封装,用反射进行数据读取

单例模式

  饿汉式:

    私有构造方法,自己创建一个唯一对象(private static),提供对外访问的方法得到对象

  懒汉式:

    私有构造方法,判断对象是否为空,需要用到线程同步(放置判断到为空之后另一个线程也为空就会初始化两次)

public class Single {
  //private私有 static静态唯一
  private static Single s = new Single();
  

  //私有化构造方法
  private Single(){
  }
  //必须设置为静态的,不然外界无法访问
  public static Single getSingle(){
    return s;
  }
}