{"id":1371,"date":"2022-07-27T03:20:40","date_gmt":"2023-10-29T13:14:17","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/uncategorized\/the-spring-framework\/"},"modified":"2024-03-07T15:04:07","modified_gmt":"2024-03-07T15:04:07","slug":"the-spring-framework","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/","title":{"rendered":"The Spring Framework"},"content":{"rendered":"<p>In this article, we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.<\/p>\n<p>Spring framework architecture<\/p>\n<ul class=\"post-ul\">\n<li>Core components of Spring<\/li>\n<li>Various projects under the spring framework umbrella.<\/li>\n<\/ul>\n<hr \/>\n<p>When analyzing the Google Trends chart for Spring Framework, Servlet, JSP, and JSF, it is evident that Spring is significantly leading among all other <a href=\"https:\/\/www.oracle.com\/java\/technologies\/javaee\/javaeetechnologies.html\">Java EE technologies<\/a>.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dcc41cdcf9b6757a00abc\/4-0.png\" alt=\"Spring Framework Popularity\" \/><\/div>\n<h2>Can you explain what the Spring Framework is?<\/h2>\n<p>The Spring framework, created by Rod Johnson, is widely used by developers worldwide for developing dependable and top-notch Java enterprise applications. It has emerged as a preferred alternative to the EJB model, making it possible to develop various types of applications.<\/p>\n<h2>The fundamental principles of Spring framework &#8211; Dependency Injection (DI), Inversion of Control (IoC), and Aspect-Oriented Programming (AOP).<\/h2>\n<ul class=\"post-ul\">\n<li>It is impossible to understand what is Spring Framework without understanding what is Dependency Injection and Inversion of Control. Dependency Injection also called as DI, is one of the types of Inversion of Control (IoC).<\/li>\n<li>Inversion of Control &#8211; this is the principle of object-oriented programming, in which objects of the program do not depend on concrete implementations of other objects, but may have knowledge about their abstractions (interfaces) for later interaction.<\/li>\n<li>Dependency Injection &#8211; is a composition of structural design patterns, in which for each function of the application there is one, a conditionally independent object (service) that can have the need to use other objects (dependencies) known to it by interfaces. Dependencies are transferred (implemented) to the service at the time of its creation. This is a situation where we introduce an element of one class into another. In practice, DI is implemented by passing parameters to the constructor or using setters. Libraries that implement this approach are also called IoC containers.<\/li>\n<li>Aspect oriented programming &#8211; a programming paradigm that allows you to distinguish cross-through (functional) functionality in application. These functions, which span multiple application nodes, are called cross-cutting concerns and these cross-cutting notes are separated from the immediate business logic of the application. In OOP, the key unit is the class, while in AOP, the key element is the aspect. DI helps to separate application classes into separate modules, and AOP helps to separate cross-cutting concerns from the objects they affect.<\/li>\n<\/ul>\n<h2>The architecture of the Spring Framework<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dcc41cdcf9b6757a00abc\/10-0.jpg\" alt=\"spring framework architecture\" \/><\/div>\n<h2>Core components of the Spring Framework<\/h2>\n<p>The SpEL, Context, Core, and Beans are four modules included in the Core container of Spring. These modules can be described as the following:<\/p>\n<ol>The SpEL module offers a robust expression language for manipulating objects while they are being executed. Context, which is built on Beans and Core, grants access to any object defined in the settings. The ApplicationContext interface serves as the main component of the Context module. Meanwhile, the Core module incorporates essential elements of the framework such as IoC and DI properties. Lastly, the Bean module handles the creation and management of Spring Beans, serving as the building block of the application context structure.<\/ol>\n<h2>Web application development framework provided by Spring Framework.<\/h2>\n<p>The Web layer of the Spring framework encompasses components such as Web, Web-MVC, Web-Socket, Web-Portlet, and more.<\/p>\n<ol>The Web module offers various functions like file downloading, web application creation, and rest web service. Web-MVC includes a Spring MVC implementation for web applications. Web-Socket enables communication between client and server using Web-Sockets in web applications. On the other hand, Web-Portlet provides a MVC implementation for the portlet environment.<\/ol>\n<h2>Accessing data in the Spring Framework<\/h2>\n<p>The container responsible for Data Access\/Integration incorporates JDBC, ORM, OXM, JMS, and the Transactions module.<\/p>\n<ol>JDBC simplifies the process of connecting to a database by eliminating the need for developers to manually register repetitive code. Spring ORM integrates with popular ORMs like Hibernate and JDO, which are implementations of JPA. The OXM module connects objects with XML using XMLBeans, JAXB, etc. The JMS module handles the creation, sending, and receiving of messages. Transactions support transaction management for specific methods and POJOs.<\/ol>\n<h2>Various Modules<\/h2>\n<p>Spring contains various essential modules in addition to AOP, Aspects, Instrumentation, Messaging, and Test.<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>AOP utilizes aspect-oriented programming and enables the utilization of all AOP capabilities.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>The Aspects module integrates with AspectJ, another robust AOP framework.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Instrumentation is accountable for facilitating class instrumentation and class loader operations that are employed in server applications.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>The Messaging module grants STOMP support.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>Lastly, the Test module enables testing through either TestNG or the JUnit Framework.<\/ol>\n<h2>Features of Spring 5<\/h2>\n<p>Spring 5 introduced significant changes compared to Spring 4, and it offers several key attributes.<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Spring now supports the latest versions of Java (8, 9) and Java EE (7, 8), Servlet (4.0), Bean Validation (2.0), and JPA (2.2). I am glad to see that Spring is making efforts to incorporate the latest technologies.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Logging has been improved with a new module called spring-jcl.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>File operations now utilize NIO 2 streams, resulting in improved performance.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Spring MVC controller methods now support Reactor (3.1 Flux and Mono) and RxJava (1.3 and 2.1) as return values.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Support for Kotlin, Project Lombok, and JSON Binding API as alternatives to Jackson and GSON has been added.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>Spring WebFlux introduces reactive programming capabilities to Spring.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>JUnit 5 is now supported.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>Functional programming can be achieved using Kotlin.<\/ol>\n<p>You have the option to explore Spring Projects in our GitHub Repository.<\/p>\n<p>Sources: Spring&#8217;s Official Website, Documentation on Spring&#8217;s Reference<\/p>\n<p>&nbsp;<\/p>\n<p>More Tutorials<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-component-annotation\/\" target=\"_blank\" rel=\"noopener\">Spring Component annotation<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-mvc-handlerinterceptoradapter-and-handlerinterceptor\/\" target=\"_blank\" rel=\"noopener\">Spring MVC HandlerInterceptorAdapter and HandlerInterceptor.<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-boot-cli\/\" target=\"_blank\" rel=\"noopener\">Spring Boot CLI<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-rest-xml-and-json\/\" target=\"_blank\" rel=\"noopener\">One example of Spring REST XML and JSON<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/interview-questions-for-web-services-soap-restful\/\" target=\"_blank\" rel=\"noopener\">Interview Questions for Web Services &#8211; SOAP, RESTful<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE. Spring framework architecture Core components of Spring Various projects under the spring framework umbrella. When analyzing the Google Trends chart for Spring Framework, Servlet, JSP, and JSF, it is evident that [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-1371","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Spring Framework - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Spring Framework\" \/>\n<meta property=\"og:description\" content=\"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-29T13:14:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-07T15:04:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dcc41cdcf9b6757a00abc\/4-0.png\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"The Spring Framework\",\"datePublished\":\"2023-10-29T13:14:17+00:00\",\"dateModified\":\"2024-03-07T15:04:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\"},\"wordCount\":948,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\",\"name\":\"The Spring Framework - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2023-10-29T13:14:17+00:00\",\"dateModified\":\"2024-03-07T15:04:07+00:00\",\"description\":\"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Spring Framework\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Spring Framework - Blog - Silicon Cloud","description":"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/","og_locale":"en_US","og_type":"article","og_title":"The Spring Framework","og_description":"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.","og_url":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2023-10-29T13:14:17+00:00","article_modified_time":"2024-03-07T15:04:07+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dcc41cdcf9b6757a00abc\/4-0.png"}],"author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"The Spring Framework","datePublished":"2023-10-29T13:14:17+00:00","dateModified":"2024-03-07T15:04:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/"},"wordCount":948,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/","url":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/","name":"The Spring Framework - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2023-10-29T13:14:17+00:00","dateModified":"2024-03-07T15:04:07+00:00","description":"we will delve into the Spring Framework, which is widely recognized as one of the most popular frameworks for Java EE.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/the-spring-framework\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Spring Framework"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=1371"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1371\/revisions"}],"predecessor-version":[{"id":1794,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1371\/revisions\/1794"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=1371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=1371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=1371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}