

{"id":18543,"date":"2018-06-20T04:37:39","date_gmt":"2018-06-19T23:07:39","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=18543"},"modified":"2020-01-23T17:01:10","modified_gmt":"2020-01-23T11:31:10","slug":"spring-framework-tutorial","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/","title":{"rendered":"Spring Framework Tutorial for Beginners &#8211; Learn Spring"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1823,&quot;href&quot;:&quot;https:\\\/\\\/spring.io&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251002190622\\\/https:\\\/\\\/spring.io\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 03:27:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-14 02:20:54&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-19 19:26:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-23 10:28:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-30 06:58:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-03 06:23:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 18:01:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 03:12:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-22 11:21:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-25 13:38:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 05:56:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 09:35:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-05 15:52:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 03:56:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-12 07:31:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 18:55:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 13:47:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 10:07:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 11:28:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 07:26:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 10:36:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 10:58:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 02:45:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-20 11:19:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 07:42:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 15:23:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-04 14:58:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-07 23:24:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-11 11:15:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-15 18:23:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 05:32:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 00:03:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-28 03:59:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-01 09:08:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-04 14:32:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-10 13:42:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-14 21:00:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-19 09:20:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-24 07:42:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-27 09:18:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-30 11:17:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-02 19:01:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-09 06:12:11&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-12 11:09:55&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-12 11:09:55&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>In this Spring Framework Tutorial, you will be getting to know introduction to Spring Framework. Moreover, we are going to study\u00a0Prerequisites &amp; Audience and History of Spring Framework. At last, we will learn some Pros and Cons of Spring Framework.<\/p>\n<p>So, let&#8217;s start the Spring Framework Tutorial.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18552 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg\" alt=\"Spring Framework Tutorial for Beginners - Learn Spring\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<h2>1. What is Spring Framework?<\/h2>\n<p>Spring Framework is one of the most popular Java-based application frameworks and it was developed by <em>Rod Johnson<\/em> back in <em>2003<\/em>. Spring Framework is an open source framework that we use to develop Java applications with very ease and with a rapid pace. It is a very lightweight framework which provides well-defined infrastructure support for developing Java application. In other words, you can say that Spring handles the infrastructure so, that you can focus more on developing your application.<\/p>\n<p>Also, Spring is modular in nature which means that you can use the parts that you need instead of using the whole of it. Using Spring Framework, you can build Java applications as well as Web applications (by using extensions).<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18553 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework.png\" alt=\"Spring Framework Tutorial - Introduction to Spring Framework\" width=\"1245\" height=\"433\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework.png 1245w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework-150x52.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework-300x104.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework-768x267.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/introduction-software-framework-1024x356.png 1024w\" sizes=\"auto, (max-width: 1245px) 100vw, 1245px\" \/><\/a><\/p>\n<p>The above diagram is about the Spring Framework.<\/p>\n<p>Spring uses<a href=\"https:\/\/data-flair.training\/blogs\/pojo-class-in-java\/\"><strong> <em>Plain Old Java Project<\/em> that is POJO<\/strong><\/a> and applies enterprise services to it. Spring aims to make J2EE development easier and faster.<\/p>\n<h2>2. Learn Spring Framework &#8211; Prerequisites &amp; Audience<\/h2>\n<p>This Spring Framework tutorial is for Java programmers with the need to understand and work with Spring Framework. Before starting with Spring, one should have good <a href=\"https:\/\/data-flair.training\/blogs\/java-tutorial\/\"><strong>knowledge of Java<\/strong><\/a> and should be comfortable in writing Java code. Also, the basic working and understanding of Eclipse or Java Netbeans should be there.<\/p>\n<h2>3. Spring Framework Tutorial &#8211; Versions\/History<\/h2>\n<p>Now, in Spring Framework Tutorial, we will discuss the history of Spring framework. Since the introduction of Spring Framework in <em>2003 by Rod Johnson, <\/em>there are several developments that have taken place in the framework. In June 2003 Spring was released under Apache2.0 license. The first milestone release 1.0 was in March 2004 with further milestones releases in September 2004 and March 2005.<\/p>\n<p>The Spring 2.0 was released in October 2006, Spring 2.5 in November 2007 and Spring 3.0 in December 2009. In December 2013 the Spring 4.0 was released which included support for Java SE8, Groovy2, some aspects of Java EE7 and WebSocket. The extensions of 4th versions that are Spring 4.2.0 and Spring 4.2.1 were released in July 2015 and September 2015 respectively.<\/p>\n<p>The 4.2.1 version focuses on core refinements and the latest web capabilities. The latest version 4.3 has been released on 10 June 2016 which will be supported till 2020 and will be the final generation of the 4th version. Version 5 is said to be built upon Reactive Streams.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Capture.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18554 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Capture.gif\" alt=\"Spring Framework Tutorial for Beginners - Learn Spring\" width=\"211\" height=\"225\" \/><\/a><\/p>\n<p>The below diagram will tell the important dates and milestones which achieve during the development of Spring Framework since its launch in 2003.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18555 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic.jpg\" alt=\"Spring Framework Tutorial for Beginners - Learn Spring\" width=\"1600\" height=\"2920\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic.jpg 1600w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic-82x150.jpg 82w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic-164x300.jpg 164w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic-768x1402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/springhistoryinfographic-561x1024.jpg 561w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2>4. Spring Framework Modules<\/h2>\n<p>In this Java Spring Framework Tutorial, we are going to study important modules of Spring Framework:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18559 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01.jpg\" alt=\"Spring Framework Tutorial for Beginners - Learn Spring\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Modules-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<h3>a. Dependency Injection and Inversion of Control<\/h3>\n<p>These are design patterns that use discard dependencies from the code which makes the code easy to maintain and test. Consider the following example code: &#8211;<\/p>\n<pre class=\"EnlighterJSRAW\">class\u00a0Student\r\n{\u00a0\u00a0\r\nAddress\u00a0address;\u00a0\u00a0\r\nStudent()\r\n{\u00a0\u00a0\r\naddress=new\u00a0Address();\u00a0\u00a0\r\n}\r\n}<\/pre>\n<p>The above example code shows the dependency between Student and Address. You can say that Student and Address are tightly couples.<br \/>\nThe Ioc makes the code loosely coupled. We can also type the above example as follow: &#8211;<\/p>\n<pre class=\"EnlighterJSRAW\">class\u00a0Student\r\n{\u00a0\u00a0\r\nAddress\u00a0address;\u00a0\u00a0\r\nStudent(Address\u00a0address)\r\n{\u00a0\u00a0\r\nthis.address=address;\u00a0\u00a0\r\n}\u00a0\u00a0\r\n}<\/pre>\n<p>In Spring Framework, the<a href=\"https:\/\/data-flair.training\/blogs\/spring-ioc-containers\/\"><strong> IoC container<\/strong><\/a> use for injecting dependencies. Using XML files or annotations you can provide metadata to the IoC container.<\/p>\n<h3>b. Aspect Oriented Programming<\/h3>\n<p>Aspect Oriented Programming(AOP) is an important part of the Spring Framework. The Aspect Oriented Programming used for separating cross-cutting concerns (for example logging, security etc.) from the business logic of the application.<\/p>\n<h3>c. Model-View-Controller (MVC)<\/h3>\n<p>It an HTTP and servlet-based framework which provides customization for web applications.<\/p>\n<h3>d. Transaction Management<\/h3>\n<p>TM use to unify several<a href=\"https:\/\/data-flair.training\/blogs\/spring-transaction-management\/\"><strong> transaction management<\/strong> <\/a>APIs and\u00a0use to coordinate transactions for <strong><a href=\"https:\/\/data-flair.training\/blogs\/class-and-object-in-java\/\">Java objects<\/a><\/strong>.<\/p>\n<h2>5. Advantages\u00a0&amp; Disadvantages of Spring<\/h2>\n<p>In this Spring Framework tutorial, we are going to explore the limitations\/benefits of the\u00a0Spring Framework.<\/p>\n<h3>a. Advantages of Spring Framework<\/h3>\n<p>After the brief introduction to you will be getting to know the benefits of Spring framework which are as follow: &#8211;<\/p>\n<ul>\n<li>It is lightweight in nature due to its POJO implementation which doesn\u2019t force to inherit any class or implement any interfaces.<\/li>\n<li>Spring Framework supports other frameworks and its integration makes Spring easier to develop.<\/li>\n<li>The Spring application is loosely couple due to Dependency Injection.<\/li>\n<li>The Spring Framework is easier to test and it doesn\u2019t require any server to run the application.<\/li>\n<li>It provides a powerful abstraction to JavaEE Specifications like JDBC, JTA etc.<\/li>\n<li>Spring can remove the creation of the singleton and factory classes.<\/li>\n<li>Spring framework takes the best practices in all applications and formalizes as design patterns.<\/li>\n<\/ul>\n<h3>b. Disadvantages of Spring Framework<\/h3>\n<p>These are some limitations of Spring Framework, let&#8217;s discuss them:<\/p>\n<ul>\n<li>The learning curve for Spring Framework is very high as most developers find it hard to understand and apply.<\/li>\n<li>The nature of Spring Framework keeps changing over the course of time which makes it harder to grasp. For example, the annotation-based Spring is not everybody\u2019s cup of tea.<\/li>\n<li>For many its time-consuming process as Spring Framework has lots of integration with another framework due to which it is hard to know all the options which are available.<\/li>\n<\/ul>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/advantages-of-spring\/\">Read More about Advantages &amp; Disadvantages of Spring Framework\u00a0<\/a><\/strong><\/p>\n<p>So, this was all about Spring Framework Tutorial. Hope you like our explanation.<\/p>\n<h2>6. Summary<\/h2>\n<p>In this Spring Framework Tutorial, you learned what is Spring Framework is and what are the important components of the Java Spring Framework. You also got to know how important <strong><a href=\"https:\/\/spring.io\/\">Spring<\/a><\/strong> is and what are advantages of Spring Framework over other Java-based frameworks. Also, you got to know about the shortcomings of Spring and the versions of it since its initial release.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this Spring Framework Tutorial, you will be getting to know introduction to Spring Framework. Moreover, we are going to study\u00a0Prerequisites &amp; Audience and History of Spring Framework. At last, we will learn some&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":18552,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[377,3964,7114,8178,13329,13380,15971],"class_list":["post-18543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-advantages-of-spring-framework","tag-disadvantages-of-spring-framework","tag-introduction-to-spring-framework","tag-learn-spring-framework","tag-spring-framework-tutorial","tag-spring-tutorial","tag-what-is-spring-framework"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Framework Tutorial for Beginners - Learn Spring - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Framework Tutorial for Beginners, Learn Spring Framework, Spring Framework Modules &amp; History, Disadvantages &amp; Advantages of Spring framework\" \/>\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-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Framework Tutorial for Beginners - Learn Spring - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Framework Tutorial for Beginners, Learn Spring Framework, Spring Framework Modules &amp; History, Disadvantages &amp; Advantages of Spring framework\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\" \/>\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-19T23:07:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-23T11:31:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/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=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Framework Tutorial for Beginners - Learn Spring - DataFlair","description":"Spring Framework Tutorial for Beginners, Learn Spring Framework, Spring Framework Modules & History, Disadvantages & Advantages of Spring framework","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-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Spring Framework Tutorial for Beginners - Learn Spring - DataFlair","og_description":"Spring Framework Tutorial for Beginners, Learn Spring Framework, Spring Framework Modules & History, Disadvantages & Advantages of Spring framework","og_url":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-19T23:07:39+00:00","article_modified_time":"2020-01-23T11:31:10+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Spring Framework Tutorial for Beginners &#8211; Learn Spring","datePublished":"2018-06-19T23:07:39+00:00","dateModified":"2020-01-23T11:31:10+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/"},"wordCount":959,"commentCount":7,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg","keywords":["Advantages of Spring Framework","Disadvantages of Spring Framework","Introduction to Spring Framework","Learn Spring Framework","Spring Framework Tutorial","Spring Tutorial","What is Spring Framework"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/","url":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/","name":"Spring Framework Tutorial for Beginners - Learn Spring - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg","datePublished":"2018-06-19T23:07:39+00:00","dateModified":"2020-01-23T11:31:10+00:00","description":"Spring Framework Tutorial for Beginners, Learn Spring Framework, Spring Framework Modules & History, Disadvantages & Advantages of Spring framework","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-01.jpg","width":1200,"height":628,"caption":"Spring Framework Tutorial for Beginners - Learn Spring"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/#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 Tutorial for Beginners &#8211; Learn Spring"}]},{"@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\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18543","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\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=18543"}],"version-history":[{"count":8,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18543\/revisions"}],"predecessor-version":[{"id":51328,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18543\/revisions\/51328"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18552"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=18543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=18543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=18543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}