

{"id":18658,"date":"2018-06-21T04:05:18","date_gmt":"2018-06-21T04:05:18","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=18658"},"modified":"2020-01-23T17:00:58","modified_gmt":"2020-01-23T11:30:58","slug":"spring-framework-features","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/","title":{"rendered":"Spring Framework Features &#8211; Why Spring Framework is Popular"},"content":{"rendered":"<h2 class=\"western\">1. Objective<\/h2>\n<p>In our last <a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\"><strong>Spring Tutorial<\/strong><\/a>, we studied <a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-architecture\/\"><strong>Spring Framework Architecture<\/strong><\/a>, here in this article, we will discuss Spring Framework Features. Moreover, we will learn why Spring Framework is popular nowadays. At last, we will see\u00a0Features of Spring 5.0 and what are the problems facing in Spring Framework.<\/p>\n<p>So, let&#8217;s discuss Spring Framework Features.<\/p>\n<div id=\"attachment_18709\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18709\" class=\"wp-image-18709 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg\" alt=\"Spring Framework Features - Why Spring Framework is Popular\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18709\" class=\"wp-caption-text\">Spring Framework Features &#8211; Why Spring Framework is Popular<\/p><\/div>\n<h2>2. What is the Spring Framework?<\/h2>\n<p>Spring is a powerful lightweight Framework use for application development. In a broader way, you can say that a framework is a large structure using which you can solve many technical related problems. Therefore, you can say that Spring Framework is a very well-defined tool which supports several web applications using Java as a programming language.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/java-tutorial\/\">Read More about Java Programming language in Detail<\/a><\/strong><\/p>\n<p>Before the launching of Framework in the IT Sector, the applications were developed using JEE standards, with these standards we can deploy an application on any JEE application server. But it had several problems such as:<\/p>\n<ul>\n<li>Code became very complicated as application progressed.<\/li>\n<li>Performance of the system get affectes due to the heaviness of the applications.<\/li>\n<li>The look-up problem of the component.<\/li>\n<\/ul>\n<p>These problems solve with the introduction of Spring Framework. The Spring Framework became prominent in the market due to basic Spring Framework features which are its modularity. That is, it can divides into different modules each serving their own functionality.<\/p>\n<h2>3. Spring Framework Features<\/h2>\n<p>These Spring Framework features are as follow<\/p>\n<h4><strong>i. Lightweight<\/strong><\/h4>\n<p>The Spring Framework is very lightweight with respect to its size and functionality. It is due to its POJO implementation which doesn\u2019t force to inherit any class or implement any interfaces.<\/p>\n<h4><strong>ii. Aspect Oriented Programming(AOP)<\/strong><\/h4>\n<p>It is an important part of Spring Framework. <a href=\"https:\/\/data-flair.training\/blogs\/spring-aop-tutorial\/\"><strong>Aspect Oriented Programming<\/strong><\/a> is used for separating cross-cutting concerns (for example logging, security etc.) from the business logic of the application.<\/p>\n<h4><strong>iii. Transaction Management<\/strong><\/h4>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-transaction-management\/\">Transaction Management<\/a><\/strong>\u00a0use for unify several transaction management APIs and is used to coordinate transactions for Java object. Also, not tie to the J2EE environment and use with containerless environments.<\/p>\n<h4><strong>iv. Container<\/strong><\/h4>\n<p>The Spring Framework designs and manages the lifecycle and configurations of application objects.<\/p>\n<h4><strong>v. Dependency Injection<\/strong><\/h4>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-dependency-injection\/\">Dependency Injection<\/a><\/strong> is a feature of Spring Framework allows you to develop loosely coupled applications. Therefore, the unit testing of these loosely coupled applications becomes easier. This also allows the developer to swap out some of the modules according to its need.<\/p>\n<h4><strong>vi. Integration with other frameworks<\/strong><\/h4>\n<p>A great thing about this framework is that it doesn\u2019t try to solve the problems have already solved. It just tries to integrate them with its framework which provides a solution to greater problems. Example IBATIS, Hibernate, Toplink etc.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-ioc-containers\/\">Follow this link to know about Spring IoC Containers<\/a>\u00a0<\/strong><\/p>\n<h2>4.\u00a0Features of Spring 5.0<\/h2>\n<p>Now major enhancements are done since the introduction of Spring Framework by <em>Rod Johnson in 2003<\/em>. Several versions have been released after its first. As of now the Spring Framework 5.0x versions are released in the market. So, let\u2019s run down to the major upgraded features and enhancements of Spring 5.0 with Java 8 as a minimum requirement across all coding bases with the compatibility of JDK 9 at runtime as well as for build and test suit:<\/p>\n<div id=\"attachment_18710\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18710\" class=\"wp-image-18710 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework.jpg\" alt=\"Spring Framework Features - Why Spring Framework is Popular\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Features-of-Spring-Framework-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18710\" class=\"wp-caption-text\">Features of Spring 5.0<\/p><\/div>\n<h3>a. JDK 8 plus 9 and Java EE 7 Baseline<\/h3>\n<p>The Spring Framework codebase is based on code level of Java Programming 8. This code level provides readability using inferred generics and the conditional support for Java 8 is directly provided in the code. Now Java EE 7 API level requires in Spring modules along with Servlet 3.1, JMS2.0, JPA2.1, Bean validation1.1. Recent servers such as Jetty 9.3+, Tomcat 8.5+, WildFly10+ adds to Spring 5.0. The compatibility of JDK 9 has been added at runtime as well as for build and test suit.<\/p>\n<h3>b. Removal of Classes, Methods, and Packages<\/h3>\n<p>The Package mock.staticmock has been removed from Spring module along with the support for AnnotationDrivenStaticEntityMockingControl. The minimum requirement is Tiles3 and Hibernate5 which means packages web.view.tiles2 and orm.hibernate3\/orm.hibernate4 drop. Spring 5.0 has also withdrawn its support for Portlet, Velocity, XMLBeans, Guava, JDO and JasperReports. Therefore, those who need them to work recommends to Spring Framework 4.3.x. Many of the deprecated methods and classes remove with some compromises for commonly use methods in Spring ecosystem.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-boot-cli\/\">Do you know What is Spring Boot CLI?<\/a><\/strong><\/p>\n<h3>c. Core Container Enhancements<\/h3>\n<p>With the introduction of Spring 5.0 there are major upgrades made in Core container. These are as follows:<\/p>\n<h4>i. JDK 8+Improvements<\/h4>\n<ul>\n<li>Some declarations of Java 8 methods in core Spring Framework interfaces.<\/li>\n<li>Use of Standard Charsets of JDK 7.<\/li>\n<li>Efficient parameter method access using Java 8.<\/li>\n<\/ul>\n<h4>ii. JDK 9 Preparations<\/h4>\n<ul>\n<li>Using revised exceptional handling consistency of initialization of constructor is done.<\/li>\n<\/ul>\n<h4>iii. XML Related Upgrades<\/h4>\n<ul>\n<li>XML namespaces streamline for non-versioned schemas.<\/li>\n<li>No support for deprecated features along with a resolution for latest XSD files.<\/li>\n<li>Version specific declarations continue to support but\u00a0validates.<\/li>\n<\/ul>\n<h3>d. Reactive Programming Model<\/h3>\n<p>The Spring Framework\u2019s latest version 5 has several changes with respect to the Reactive Programming model. Major ones being the use of spring core data buffer along with encoder\/decoder abstractions and spring-web HTTP message codec implementations with XML and JSON support. Also, the new WebClient and the new spring web reactive module introduces with reactive support for @Controller model adapting Servlet3.1 as well as non-Servlets runtime containers for example Undertow.<\/p>\n<h3>e. General Web Improvements<\/h3>\n<p>In web improvements unified support for media type resolution is provided using MediaTypeFactory. Also, full Servel 3.1 support is provided to <a href=\"https:\/\/spring.io\/\">Spring<\/a> Framework along with Protobuf 3.0 support in version 5.<\/p>\n<h3>f. Testing Improvements<\/h3>\n<p>With the introduction of this version, major changes made to the testing environment of Spring Framework.<\/p>\n<p>i. Complete support to Junit 5\u2019s Jupiter programming in <em>Spring TestContext Framework.<\/em><\/p>\n<ul>\n<li>SpringExtension is an implementation of several extension of APIs from Jupiter that gives full support for existing feature of TestContext Framework which enables using @ExtendWith a SpringExtention.class.<\/li>\n<li>@SpringJUintConfig which combines @ExtendedWith from Jupiter with @ContextConfigurationfrom (a TestContext framework).<\/li>\n<li>@SpringJunitWebConfig an annotation which combines @ExtendedWith from Jupiter with @ContextConfiguration and @WebAppConfiguration of a TestContext framework.<\/li>\n<\/ul>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/beanpostprocessors\/\">Let&#8217;s learn &#8211; Spring BeanPostProcessors<\/a><\/strong><\/p>\n<p>ii. New test execution callback methods introduced in Spring TestContext Framework using TestNG, JUnit 5 via SpringRunner.<br \/>\niii. XMLUnit support is upgraded to version 2.2.<br \/>\nSo, this was all about Spring Framework Features. Hope you like our explanation.<\/p>\n<h2>5. Conclusion<\/h2>\n<p>Hence, in this Spring Framework Tutorial, you have seen the various Spring Framework features. Also, the new upgrades in a testing environment, web services, and XML related that adds to the latest features of Spring 5.x Framework from the previous Spring 4.3.x Framework. Still, if any you have a doubt, ask in the comment section.<\/p>\n<p>Related Topic- <strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-books\/\">Spring Books<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-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;date&quot;:&quot;2026-06-15 14:25:55&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 14:25:55&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In our last Spring Tutorial, we studied Spring Framework Architecture, here in this article, we will discuss Spring Framework Features. Moreover, we will learn why Spring Framework is popular nowadays. At last,&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":18709,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[2999,3755,4638,4640,5043,7779,7781,13320,14642,14889,16318],"class_list":["post-18658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-core-container-enhancements","tag-dependency-injection","tag-features-of-spring-5-0","tag-features-of-spring-framework","tag-general-web-improvements","tag-jdk-8improvements","tag-jdk-9-preparations","tag-spring-framework-features","tag-testing-improvements","tag-transaction-management","tag-xml-related-upgrades"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Framework Features - Why Spring Framework is Popular - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Framework Features,Why Spring Framework is Popular,Learn Spring Framework in Java,Features of Spring 5.0, JDK 8+ 9 &amp; Java EE 7 Baseline,XML Related\" \/>\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-features\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Framework Features - Why Spring Framework is Popular - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Framework Features,Why Spring Framework is Popular,Learn Spring Framework in Java,Features of Spring 5.0, JDK 8+ 9 &amp; Java EE 7 Baseline,XML Related\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-framework-features\/\" \/>\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:05:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-23T11:30:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-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=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Framework Features - Why Spring Framework is Popular - DataFlair","description":"Spring Framework Features,Why Spring Framework is Popular,Learn Spring Framework in Java,Features of Spring 5.0, JDK 8+ 9 & Java EE 7 Baseline,XML Related","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-features\/","og_locale":"en_US","og_type":"article","og_title":"Spring Framework Features - Why Spring Framework is Popular - DataFlair","og_description":"Spring Framework Features,Why Spring Framework is Popular,Learn Spring Framework in Java,Features of Spring 5.0, JDK 8+ 9 & Java EE 7 Baseline,XML Related","og_url":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-21T04:05:18+00:00","article_modified_time":"2020-01-23T11:30:58+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-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":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Spring Framework Features &#8211; Why Spring Framework is Popular","datePublished":"2018-06-21T04:05:18+00:00","dateModified":"2020-01-23T11:30:58+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/"},"wordCount":1127,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg","keywords":["Core Container enhancements","Dependency Injection","Features of Spring 5.0","Features of Spring Framework","General Web Improvements","JDK 8+Improvements","JDK 9 Preparations","Spring Framework Features","Testing improvements","Transaction Management","XML Related Upgrades"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-framework-features\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/","url":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/","name":"Spring Framework Features - Why Spring Framework is Popular - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg","datePublished":"2018-06-21T04:05:18+00:00","dateModified":"2020-01-23T11:30:58+00:00","description":"Spring Framework Features,Why Spring Framework is Popular,Learn Spring Framework in Java,Features of Spring 5.0, JDK 8+ 9 & Java EE 7 Baseline,XML Related","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-framework-features\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Framework-Features-01.jpg","width":1200,"height":628,"caption":"Spring Framework Features - Why Spring Framework is Popular"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-framework-features\/#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 Features &#8211; Why Spring Framework is Popular"}]},{"@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\/18658","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=18658"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18658\/revisions"}],"predecessor-version":[{"id":66862,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18658\/revisions\/66862"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18709"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=18658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=18658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=18658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}