Because the project needs to read the key-value pairs in the configuration file into the map
The format is:
001=123456789
Add Configuration in Appcontext.xml:
<BeanID= "Loadkeyfromproperties"class= "Com.;landau.init.loadkeyformproperties"> < Propertyname= "Keyfileresource"> <value>Classpath:keys.properties</value> </ Property> </Bean>
Java code:
Public classLoadkeyformpropertiesImplementsInitializingbean {PrivateResource Keyfileresource; Private Staticmap<string, string> map =NewHashmap<string, string>(); protected Static volatile Booleaninitialized =false; Public StaticMap<string, string>GetKey () {returnmap; } Public voidSetkeyfileresource (Resource keyfileresource) { This. Keyfileresource =Keyfileresource; } /*** Key value pairs are taken to the collection*/ Private voidloadkeyformproperties () {if(initialized) {return; } InputStream is=NULL; Try{ is=Keyfileresource.getinputstream (); BufferedReader BR=NewBufferedReader (NewInputStreamReader (IS)); String Str=NULL; while(str = br.readline ())! =NULL) {string[] data= Str.split ("="); Map.put (data[0], data[1]); } initialized=true; } Catch(Exception e) {}finally{is.close (); }} @Override Public voidAfterpropertiesset ()throwsException {loadkeyformproperties (); }}
Spring Classpath the. properties file data read-out into the map, loaded at initialization