Spring beans are singletons by default, so you are good. However, there thread safety is not guaranteed for the Hashmap used by two or more threads. You can overcome this by using ConcurrentHashMap as the map-class.
Having said that, I think this is a rudimentary caching strategy in my opinion. If it serves your purpose, then it is great. If you need more sophisticated caching strategies, suggest looking into Ehcache or Memchached.