diff --git a/spring-boot/pom.xml b/spring-boot/pom.xml
index d6ee022522..a557604bf3 100644
--- a/spring-boot/pom.xml
+++ b/spring-boot/pom.xml
@@ -167,6 +167,12 @@
org.apache.activemq
artemis-server
+
+
+ com.rometools
+ rome
+ ${rome.version}
+
@@ -276,6 +282,7 @@
8.5.11
1.4.194
2.4.1.Final
+ 1.9.0
\ No newline at end of file
diff --git a/spring-boot/src/main/java/com/baeldung/rss/ArticleFeedView.java b/spring-boot/src/main/java/com/baeldung/rss/ArticleFeedView.java
new file mode 100644
index 0000000000..3efa619409
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/rss/ArticleFeedView.java
@@ -0,0 +1,54 @@
+package com.baeldung.rss;
+
+import com.rometools.rome.feed.rss.Channel;
+import com.rometools.rome.feed.rss.Description;
+import com.rometools.rome.feed.rss.Item;
+import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.view.feed.AbstractRssFeedView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Service("articleFeedView")
+public class ArticleFeedView extends AbstractRssFeedView {
+
+ protected Channel newFeed() {
+ Channel channel = new Channel("rss_2.0");
+ channel.setLink("http://localhost:8080/rss");
+ channel.setTitle("Article Feed");
+ channel.setDescription("Article Feed Description");
+ channel.setPubDate(new Date());
+ return channel;
+ }
+
+ @Override
+ protected List- buildFeedItems(Map map, HttpServletRequest httpStRequest, HttpServletResponse httpStResponse) throws Exception {
+ List list = new ArrayList
- ();
+
+ Item item1 = new Item();
+ item1.setLink("http://www.baeldung.com/netty-exception-handling");
+ item1.setTitle("Exceptions in Netty");
+ Description description1 = new Description();
+ description1.setValue("In this quick article, we’ll be looking at exception handling in Netty.");
+ item1.setDescription(description1);
+ item1.setPubDate(new Date());
+ item1.setAuthor("Carlos");
+
+ Item item2 = new Item();
+ item2.setLink("http://www.baeldung.com/cockroachdb-java");
+ item2.setTitle("Guide to CockroachDB in Java");
+ Description description2 = new Description();
+ description2.setValue("This tutorial is an introductory guide to using CockroachDB with Java.");
+ item2.setDescription(description2);
+ item2.setPubDate(new Date());
+ item2.setAuthor("Baeldung");
+
+ list.add(item1);
+ list.add(item2);
+ return list;
+ }
+}
diff --git a/spring-boot/src/main/java/com/baeldung/rss/ArticleRssController.java b/spring-boot/src/main/java/com/baeldung/rss/ArticleRssController.java
new file mode 100644
index 0000000000..a3fbc4a37e
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/rss/ArticleRssController.java
@@ -0,0 +1,16 @@
+package com.baeldung.rss;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Controller
+@RequestMapping(value = "/rss", produces = "application/*")
+public class ArticleRssController {
+
+ @RequestMapping(method = RequestMethod.GET)
+ public String articleFeed() {
+ return "articleFeedView";
+ }
+
+}
diff --git a/spring-boot/src/main/java/com/baeldung/rss/CustomContainer.java b/spring-boot/src/main/java/com/baeldung/rss/CustomContainer.java
new file mode 100644
index 0000000000..ee36ecdc51
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/rss/CustomContainer.java
@@ -0,0 +1,16 @@
+package com.baeldung.rss;
+
+import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
+import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class CustomContainer implements EmbeddedServletContainerCustomizer {
+
+ @Override
+ public void customize(ConfigurableEmbeddedServletContainer container) {
+ container.setPort(8080);
+ container.setContextPath("");
+ }
+
+}
\ No newline at end of file
diff --git a/spring-boot/src/main/java/com/baeldung/rss/RssApp.java b/spring-boot/src/main/java/com/baeldung/rss/RssApp.java
new file mode 100644
index 0000000000..2add7ed421
--- /dev/null
+++ b/spring-boot/src/main/java/com/baeldung/rss/RssApp.java
@@ -0,0 +1,20 @@
+package com.baeldung.rss;
+
+import com.baeldung.autoconfiguration.MySQLAutoconfiguration;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+
+import javax.annotation.security.RolesAllowed;
+
+@SpringBootApplication(exclude = MySQLAutoconfiguration.class)
+@ComponentScan(basePackages = "com.baeldung.rss")
+public class RssApp {
+
+ @RolesAllowed("*")
+ public static void main(String[] args) {
+ System.setProperty("security.basic.enabled", "false");
+ SpringApplication.run(RssApp.class, args);
+ }
+
+}