從properties中讀取配置創建對象


主要做兩個事,從properties配置文件中讀取信息,通過反射創建對象

思路主要有兩種,遍歷得到的屬性集合,然后設置類的屬性

遍歷類的屬性集合,從配置文件中讀取(不推薦,因為類的屬性有多樣化,會報錯)

try {
   Properties prop = new Properties();
   prop.load(new FileInputStream(
     "F:\\user.properties"));
   Class class1 = Class.forName("com.zlkj.config.User1");
   Object newInstance = class1.newInstance();
//這樣就可以拿到本類中公有和私有方法
   Field[] fields = class1.getDeclaredFields();
   for (Field field : fields) {
    field.setAccessible(true);
    field.set(newInstance, prop.getProperty(field.getName()));
   }
   
   System.out.println(newInstance.toString());
  } catch (Exception e) {
   e.printStackTrace();
  }

以上方法要注意幾點:

  • 注入的類的屬性要是String類,如果是其他類,要調用相應的方法,不然會報錯;
  • 有時候可能要拿父類的屬性,調用 getSuperClass().getDeclaredFields()

本文由博客一文多發平台 OpenWrite 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM