| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
hollistertop
9年前发布

重写spring读取配置文件,读取加密配置文件

[Java]代码    

package com.templet.spring;    import java.io.BufferedReader;  import java.io.ByteArrayInputStream;  import java.io.IOException;  import java.io.InputStream;  import java.io.InputStreamReader;  import java.util.Properties;    import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;  import org.springframework.core.io.Resource;  import org.springframework.util.DefaultPropertiesPersister;  import org.springframework.util.PropertiesPersister;    public class DecryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {   private Resource[] locations;     public void setLocations(Resource[] locations) {    this.locations = locations;   }     public void loadProperties(Properties props) throws IOException {    if (this.locations != null) {     PropertiesPersister propertiesPersister = new DefaultPropertiesPersister();     for (int i = 0; i < this.locations.length; i++) {      Resource location = this.locations[i];      if (logger.isInfoEnabled()) {       logger.info("Loading properties file from " + location);      }      InputStream is = null;      try {       is = location.getInputStream();       BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"));       StringBuffer buffer = new StringBuffer();       String line = "";       while ((line = in.readLine()) != null) {        buffer.append(line);       }       String rs="";       if("dbconn.properties".equals(location.getFilename())){        DESUtil des = new DESUtil("1234567");        rs=des.decryptStr(buffer.toString());       }else{        rs =buffer.toString();       }       propertiesPersister.load(props, new ByteArrayInputStream(rs.getBytes()));      } finally {       if (is != null) {        is.close();       }      }     }    }   }  }