

{"id":18573,"date":"2018-06-21T04:00:13","date_gmt":"2018-06-21T04:00:13","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=18573"},"modified":"2018-09-15T18:02:37","modified_gmt":"2018-09-15T12:32:37","slug":"spring-framework-architecture","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/","title":{"rendered":"Spring Framework Architecture | 4 Modules of Spring Architecture"},"content":{"rendered":"<h2 class=\"western\">1. Objective<\/h2>\n<p>In our previous article, you got the brief understanding of <a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\"><strong>what is Spring Framework<\/strong><\/a>. Now in this article, you will see Spring Framework architecture. Also, you will learn about the various modules in Spring Architecture.<\/p>\n<p>So, let&#8217;s begin Spring Framework Architecture.<\/p>\n<div id=\"attachment_18618\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18618\" class=\"wp-image-18618 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg\" alt=\"Spring Framework Architecture | 4 Modules of Spring Architecture\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18618\" class=\"wp-caption-text\">Spring Framework Architecture | 4 Modules of Spring Architecture<\/p><\/div>\n<h2>2. Spring Framework Architecture<\/h2>\n<p>The basic idea behind the development of Spring Framework was to make it a one-stop shop where you can integrate and use the modules according to the need of your application. This modularity of Spring is due to the architecture of Spring. There are about 20 modules in the\u00a0 Spring framework which are being used according to the nature of the application.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/spring-ioc-containers\/\"><b>Do you know What is Spring IoC Containers?<\/b><\/a><\/p>\n<p>Below is the architecture diagram of the Spring Framework. There you can see all the modules are being defined over the top of Core container. This layered architecture contains all the necessary module that a developer may require in developing the enterprise application. Also, the developer is free to choose or discard any module that is of need or are not of any use according to its requirement. Due to its modular architecture, the integration of Spring Framework with other frameworks can easily do without much problem.<\/p>\n<h2>3.\u00a0Modules of Spring Architecture<\/h2>\n<p>The Spring Framework Architecture contains 4 main modules namely: &#8211;<\/p>\n<div id=\"attachment_18619\" style=\"width: 589px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/spring-overview.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18619\" class=\"wp-image-18619 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/spring-overview.png\" alt=\"Spring Framework Architecture | 4 Modules of Spring Architecture\" width=\"579\" height=\"447\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/spring-overview.png 579w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/spring-overview-150x116.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/spring-overview-300x232.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/a><p id=\"caption-attachment-18619\" class=\"wp-caption-text\">4 Modules of Spring Architecture with Diagram<\/p><\/div>\n<h3>a. Core Container<\/h3>\n<p>The Core Container in Spring Architecture contains the Core, Beans, Context, Expression Language.<\/p>\n<ul>\n<li>The <em><strong>Core<\/strong> <\/em>provides features to fundamental parts of the framework. This includes the <em>Ioc<\/em> as well the <strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-dependency-injection\/\"><em>Dependency Injection<\/em> (DI)<\/a>.<\/strong><\/li>\n<li>A sophisticated implementation of factory pattern called <em>BeanFactory, <\/em>is provided by,\u00a0<strong>Bean<\/strong> module.<\/li>\n<li>The <em><strong>Context<\/strong><\/em> module uses the base provided by the Core and Beans modules. It has access rights for any objects that define and configure. In Context module, the major point is ApplicationContext interface.<\/li>\n<li>In Spring Framework, a powerful language tool for querying is given by <em><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-expression-language\/\">Expression Language\u00a0<\/a><\/strong>Module<\/em>. It also does manipulation of an object graph at run-time execution.<\/li>\n<\/ul>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-expression-language-operators\/\">Follow this link to know Spring Expression Language Operators and Variables (SpEL)<\/a><\/strong><\/p>\n<h3>b. Data Access\/Integration<\/h3>\n<p>In this part of Spring Architecture, we are going to discuss OXM, JMS, ORM, Transaction Modules, and JDBC.<\/p>\n<ul>\n<li>The<em><strong> JDBC<\/strong><\/em> module contains a JDBC-abstraction layer which removes the need for JDBC related coding.<\/li>\n<li>The Spring Framework doesn\u2019t have its own <strong><em>ORM<\/em> <\/strong>implementation. But it offers the integration layers with other popular Object Relational Mapping tools such as iBATIS, Hibernate etc.<\/li>\n<li>Spring <em><strong>OXM<\/strong><\/em> (Spring Object XML Mappers), a Spring Framework Module. With the help of this module, we can ease the mappings between Java object and XML documents. The module can extend. Hence, it provides integration with various other popular frameworks such as JAXB, Castor, XStream etc.<\/li>\n<li>The<em><strong> JMS<\/strong><\/em> module or Java Messaging Services is a Spring module used for sending and receiving messages.<\/li>\n<li>The<a href=\"https:\/\/data-flair.training\/blogs\/spring-transaction-management\/\"><em><strong>\u00a0Spring Transaction<\/strong> <\/em><strong>Management<\/strong><\/a> module is for coordinating the Java objects transaction. It is also used to unify several transaction management APIs.<\/li>\n<\/ul>\n<h3>c. The Web Container<\/h3>\n<p>The Web module in Java Spring contains several frameworks, use to ease the task of developing the web related applications. Various popular MVC frameworks like JSF, Struts etc can integrate with the Web module. The Web layer has various modules such as Web, Web-MVC, Web-Socket, and Web-Portlet which are as follows: &#8211;<\/p>\n<ul>\n<li>The <em><strong>Web<\/strong><\/em> module has features of web-oriented integrations. For example, web-oriented application context, multiple file upload functions and initialization of IoC using a servlet.<\/li>\n<li>The Spring <em><strong>Web-MVC<\/strong><\/em> module is a Model-View-Controller (MVC) of Spring. It provides the implementation for web applications.<\/li>\n<li>The<em><strong> Web-Socket<\/strong><\/em> module of Spring Framework provides support for WebSocket. It is bi-direction communication between server side and client side in web related applications.<\/li>\n<li>The <em><strong>Web-Portlet<\/strong> <\/em>Spring module insists on implementing MVC in a portlet environment. The functionality of Web-Portlet is same that of the Web-Socket module of Spring.<\/li>\n<\/ul>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-jdbc\/\">DO you know What is the Spring JDBC Framework?<\/a><\/strong><\/p>\n<h3>d. Miscellaneous<\/h3>\n<p>There are several important modules along with AOP, Aspects Instrumentation, Messaging,\u00a0and Test.<\/p>\n<ul>\n<li>The <em><strong>AOP<\/strong><\/em> that is<strong> <a href=\"https:\/\/data-flair.training\/blogs\/spring-aop-tutorial\/\"><em>Aspect Oriented Programming<\/em><\/a><\/strong> is a Spring Framework module. It implements cross-cutting concerns. It can alternatively understand as an interceptor which intercepts some processes like a method which is intercepted by Spring AOP during its execution for adding an extra functionality.<\/li>\n<li>The<em><strong> Aspects<\/strong> <\/em>Spring module is a mature and a powerful AOP framework. Using it Spring AspectJ integration is possible.<\/li>\n<li>The <em><strong>Testing<\/strong><\/em> module is for providing support to classes for writing integration and unit tests. It uses JUnit or TestNG type frameworks.<\/li>\n<li>TestingThe <em><strong>Instrumentation<\/strong><\/em> module in Spring Framework is for providing class instrument support. These modules use in various application servers.<\/li>\n<li>The <em><strong>Messaging<\/strong><\/em> module does configurative registration of message objects for message consumption from message queues.<\/li>\n<\/ul>\n<p>So, this was all about Spring Framework Architecture. Hope you like our explanation.<\/p>\n<h2>4. Conclusion<\/h2>\n<p>Hence, in this Spring Architecture Tutorial, we discussed, what is Spring Framework Architecture and the modules used in Spring Framework Architecture. Furthermore, if you have a query, feel free to ask in the comment box.<\/p>\n<p>Related Topic &#8211;<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-bean-scope\/\">\u00a0Spring Bean Scope<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Spring_Framework\">For reference<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1901,&quot;href&quot;:&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Spring_Framework&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251003105514\\\/https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Spring_Framework&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 07:30:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-15 12:34:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-19 00:53:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-22 07:31:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-28 18:03:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-02 18:56:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-05 21:42:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 11:07:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-18 16:10:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 11:15:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 10:03:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-06 11:15:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-11 05:03:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 13:02:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-21 05:52:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-25 03:33:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:27:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 08:39:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 09:30:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-01 17:30:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 21:45:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 07:00:58&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-21 06:40:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-24 15:27:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-27 16:08:07&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-04-30 17:25:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-06 03:04:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-14 20:58:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-18 03:05:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-21 18:04:49&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-05-25 06:08:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-02 05:46:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-10 06:21:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-17 03:52:56&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-17 03:52:56&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In our previous article, you got the brief understanding of what is Spring Framework. Now in this article, you will see Spring Framework architecture. Also, you will learn about the various modules&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":18618,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[1087,1089,1173,4493,13229,13230,13234,13313,14891],"class_list":["post-18573","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-architecture-of-spring","tag-architecture-of-spring-framework","tag-aspect-oriented-programming","tag-expression-language","tag-spring-architecture","tag-spring-architecture-diagram","tag-spring-architecture-mvc","tag-spring-framework-architecture","tag-transaction-modules"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Framework Architecture | 4 Modules of Spring Architecture - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Architecture Tutorial- what is Spring Framework Architecture, Modules Spring Architecture, Core Container, Miscellaneous, Web,Data Access\/Integration\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Framework Architecture | 4 Modules of Spring Architecture - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Architecture Tutorial- what is Spring Framework Architecture, Modules Spring Architecture, Core Container, Miscellaneous, Web,Data Access\/Integration\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-21T04:00:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-15T12:32:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Framework Architecture | 4 Modules of Spring Architecture - DataFlair","description":"Spring Architecture Tutorial- what is Spring Framework Architecture, Modules Spring Architecture, Core Container, Miscellaneous, Web,Data Access\/Integration","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:\/\/data-flair.training\/blogs\/spring-framework-architecture\/","og_locale":"en_US","og_type":"article","og_title":"Spring Framework Architecture | 4 Modules of Spring Architecture - DataFlair","og_description":"Spring Architecture Tutorial- what is Spring Framework Architecture, Modules Spring Architecture, Core Container, Miscellaneous, Web,Data Access\/Integration","og_url":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-21T04:00:13+00:00","article_modified_time":"2018-09-15T12:32:37+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Spring Framework Architecture | 4 Modules of Spring Architecture","datePublished":"2018-06-21T04:00:13+00:00","dateModified":"2018-09-15T12:32:37+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/"},"wordCount":865,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg","keywords":["architecture of Spring","architecture of Spring Framework","Aspect Oriented Programming","Expression Language","Spring architecture","spring architecture diagram","spring architecture mvc","Spring Framework architecture","Transaction Modules"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/","url":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/","name":"Spring Framework Architecture | 4 Modules of Spring Architecture - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg","datePublished":"2018-06-21T04:00:13+00:00","dateModified":"2018-09-15T12:32:37+00:00","description":"Spring Architecture Tutorial- what is Spring Framework Architecture, Modules Spring Architecture, Core Container, Miscellaneous, Web,Data Access\/Integration","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Architecture-of-Spring-Framework-01.jpg","width":1200,"height":628,"caption":"Spring Framework Architecture | 4 Modules of Spring Architecture"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Spring Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/spring\/"},{"@type":"ListItem","position":3,"name":"Spring Framework Architecture | 4 Modules of Spring Architecture"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=18573"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18573\/revisions"}],"predecessor-version":[{"id":34159,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18573\/revisions\/34159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18618"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=18573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=18573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=18573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}