diff --git a/spring-caching/pom.xml b/spring-caching/pom.xml
index c3ededbd14..d33f24de1f 100644
--- a/spring-caching/pom.xml
+++ b/spring-caching/pom.xml
@@ -19,6 +19,10 @@
org.springframework
spring-context
+
+ org.springframework.boot
+ spring-boot-starter-cache
+
org.springframework
spring-web
diff --git a/spring-caching/src/main/java/com/baeldung/caching/boot/CacheApplication.java b/spring-caching/src/main/java/com/baeldung/caching/boot/CacheApplication.java
new file mode 100644
index 0000000000..714dc443e0
--- /dev/null
+++ b/spring-caching/src/main/java/com/baeldung/caching/boot/CacheApplication.java
@@ -0,0 +1,14 @@
+package com.baeldung.caching.boot;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+
+@SpringBootApplication
+@EnableCaching
+public class CacheApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(CacheApplication.class, args);
+ }
+}
diff --git a/spring-caching/src/main/java/com/baeldung/caching/boot/SimpleCacheCustomizer.java b/spring-caching/src/main/java/com/baeldung/caching/boot/SimpleCacheCustomizer.java
new file mode 100644
index 0000000000..a76a01caae
--- /dev/null
+++ b/spring-caching/src/main/java/com/baeldung/caching/boot/SimpleCacheCustomizer.java
@@ -0,0 +1,24 @@
+package com.baeldung.caching.boot;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
+import org.springframework.stereotype.Component;
+
+import static java.util.Arrays.asList;
+
+@Component
+public class SimpleCacheCustomizer implements CacheManagerCustomizer {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(SimpleCacheCustomizer.class);
+
+ static final String USERS_CACHE = "users";
+ static final String TRANSACTIONS_CACHE = "transactions";
+
+ @Override
+ public void customize(ConcurrentMapCacheManager cacheManager) {
+ LOGGER.info("Customizing Cache Manager");
+ cacheManager.setCacheNames(asList(USERS_CACHE, TRANSACTIONS_CACHE));
+ }
+}
diff --git a/spring-caching/src/test/java/com/baeldung/caching/boot/SimpleCacheCustomizerIntegrationTest.java b/spring-caching/src/test/java/com/baeldung/caching/boot/SimpleCacheCustomizerIntegrationTest.java
new file mode 100644
index 0000000000..56a4bd4745
--- /dev/null
+++ b/spring-caching/src/test/java/com/baeldung/caching/boot/SimpleCacheCustomizerIntegrationTest.java
@@ -0,0 +1,24 @@
+package com.baeldung.caching.boot;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.cache.CacheManager;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SimpleCacheCustomizerIntegrationTest {
+
+ @Autowired
+ private CacheManager cacheManager;
+
+ @Test
+ public void givenCacheManagerCustomizerWhenBootstrappedThenCacheManagerCustomized() {
+ assertThat(cacheManager.getCacheNames())
+ .containsOnly(SimpleCacheCustomizer.USERS_CACHE, SimpleCacheCustomizer.TRANSACTIONS_CACHE);
+ }
+}
\ No newline at end of file