The general way to read a Resource file in Spring is something like this  new ClassPathResource(pathToFile).getInputStream()  However, this will cache the contents of the file (stream) in the class loader. Although this is not a major problem, there may be cases where reading the file fresh everytime (Hot deployable file) is required.   That can be achieved with the following code  new FileInputStream(new ClassPathResource(templateFile)                       .getFile().getAbsoluteFile());  This will gives cache free control on the file and its content.   (Important) Note :  * Doing the AbsoluteFile way, will always read the content of the file. So if it is being done on a High frequency, A Managed Caching layer must be considered  * AbsoluteFile call will NOT work for resource files inside jars, they have to be in classpath folders (e.g.WEB-INF/classes)