

{"id":18811,"date":"2018-06-23T04:05:28","date_gmt":"2018-06-23T04:05:28","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=18811"},"modified":"2018-09-15T12:27:23","modified_gmt":"2018-09-15T06:57:23","slug":"spring-event-handling","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/","title":{"rendered":"Spring Event Handling &#8211;  5 Standard of Event Handlers"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-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;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-02 05:46:48&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<h2 class=\"western\">1. Objective<\/h2>\n<p>In our previous Spring tutorial, we learned <strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-custom-event\/\">Spring Custom Event<\/a><\/strong>. In this Spring Events Tutorial, we are going to learn about Spring Event Handling. Moreover, we will see the working of event handling in <a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\"><strong>Spring Framework<\/strong><\/a>. You have seen that the ApplicationContext is the core of the Spring Framework which manages the lifecycle of Beans. There are certain events which ApplicationContext publishes which loading the Beans.<br \/>\nSo, let&#8217;s start Spring Event Handling.<\/p>\n<div id=\"attachment_18858\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18858\" class=\"wp-image-18858 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg\" alt=\"Spring Event Handling - 5 Standard of Event Handlers\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18858\" class=\"wp-caption-text\">Spring Event Handling &#8211; 5 Standard of Event Handlers<\/p><\/div>\n<h2>2. Spring Event Handling<\/h2>\n<p>Event Handling in Spring is provided with the ApplicationListener interface along with ApplicationEvent class. Thus, every time an ApplicationEvent gets published to ApplicationContext notification is sent to Bean.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-features\/\">Let&#8217;s Discuss Some Major Features in\u00a0Spring Framework<\/a><\/strong><\/p>\n<h3>a. A Standard of Event Handlers<\/h3>\n<p>There are several standard events in Spring Framework which are as follow:<\/p>\n<h4>i. ContextRefreshedEvent<\/h4>\n<p>This event gets published when ApplicationContext gets initialized or refreshed. Moreover, using refresh() on ConfigurableApplicationContext interface this event also can get published.<\/p>\n<h4>ii. ContextStartedEvent<\/h4>\n<p>This event gets published when ApplicationContext starts. It is due to using of the start() on ConfigurableApplicationContext.<\/p>\n<h4>iii. ContextStoppedEvent<\/h4>\n<p>This event gets published when ApplicationContext stops. It is due use of stop() on ConfigurableApplicationContext.<\/p>\n<h4>iv. ContextClosedEvent<\/h4>\n<p>This event publishes when ApplicationContext closes. It is due to use of close() on ConfigurableApplicationContext interface. Thus, when context reaches the end it can\u2019t be redone or restarted.<\/p>\n<h4>v. RequestHandledEvent<\/h4>\n<p>It is a web-specific event which tells all Beans that HTTP request has been made.<br \/>\nSpring event handling is single threaded which is whenever an event publishes, all the receivers should get the message. Till that time all the processes are on halt and flow won\u2019t continue. Hence, care should be taken while designing your application.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-ioc-containers\/\">Read about Spring IoC Containers \u2013 Types of Spring Container<\/a><\/strong><\/p>\n<h3 class=\"western\">b.\u00a0Creating Spring Application<\/h3>\n<p>To listen to a context event ApplicationListener interface should get implemented by a bean. With the working example on Eclipse IDE, you can see how event propagates. Also, how you can put your code to do the task based on events.<br \/>\nUse the steps below to create Spring application:<\/p>\n<ol>\n<li>Create your project with name SpringEx and a package com.example. This should be under the src folder of your created project.<\/li>\n<li>Add the Spring Libraries that are required using the Add External JARs options.<\/li>\n<li>Create HelloWorld.java, CStartEventHandler.java, CStopEventHandler.java, and MainApp.java under the above-made package.<\/li>\n<li>Define config file Bean.xml under src.<\/li>\n<li>Finally, write code for all <a href=\"https:\/\/data-flair.training\/blogs\/java-file-class\/\"><strong>Java files<\/strong> <\/a>and Bean config file and run the application as described<\/li>\n<\/ol>\n<h3>c. Code of HelloWorld.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\npublic class HelloWorld {\r\nprivate String message;\r\npublic void setMessage(String message){\r\nthis.message = message;\r\n}\r\npublic void getMessage(){\r\nSystem.out.println(\"Your Message : \" + message);\r\n}\r\n}<\/pre>\n<h3>d. Code for CStartEventHandler.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ApplicationListener;\r\nimport org.springframework.context.event.ContextStartedEvent;\r\npublic class CStartEventHandler\r\nimplements ApplicationListener&lt;ContextStartedEvent&gt;{\r\npublic void onApplicationEvent(ContextStartedEvent event) {\r\nSystem.out.println(\"ContextStartedEvent Received\");\r\n}\r\n}<\/pre>\n<h3>e. Code for CStopEventHandler.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ApplicationListener;\r\nimport org.springframework.context.event.ContextStoppedEvent;\r\npublic class CStopEventHandler\r\nimplements ApplicationListener&lt;ContextStoppedEvent&gt;{\r\npublic void onApplicationEvent(ContextStoppedEvent event) {\r\nSystem.out.println(\"ContextStoppedEvent Received\");\r\n}\r\n}<\/pre>\n<h3>f. MainApp.java defines as<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ConfigurableApplicationContext;\r\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\r\npublic class MainApp {\r\npublic static void main(String[] args) {\r\nConfigurableApplicationContext context =\r\nnew ClassPathXmlApplicationContext(\"Beans.xml\");\r\ncontext.start();\r\nHelloWorld obj = (HelloWorld) context.getBean(\"helloWorld\");\r\nobj.getMessage();\r\ncontext.stop();\r\n}\r\n}<\/pre>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-java-based-configuration\/\">Let&#8217;s Revise Spring Java Based Configuration &#8211; How to Configure Spring Beans<\/a><\/strong><\/p>\n<h3>g. The Beans.xml defined as<\/h3>\n<pre class=\"EnlighterJSRAW\">&lt;?xml version = \"1.0\" encoding = \"UTF-8\"?&gt;\r\n&lt;beans xmlns = \"http:\/\/www.springframework.org\/schema\/beans\"\r\nxmlns:xsi = \"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\nxsi:schemaLocation = \"http:\/\/www.springframework.org\/schema\/beans\r\nhttp:\/\/www.springframework.org\/schema\/beans\/spring-beans-3.0.xsd\"&gt;\r\n&lt;bean id = \"helloWorld\" class = \"com.example.HelloWorld\"&gt;\r\n&lt;property name = \"message\" value = \"Hello World!\"\/&gt;\r\n&lt;\/bean&gt;\r\n&lt;bean id = \"cStartEventHandler\" class = \"com.example.CStartEventHandler\"\/&gt;\r\n&lt;bean id = \"cStopEventHandler\" class = \"com.example.CStopEventHandler\"\/&gt;\r\n&lt;\/beans&gt;<\/pre>\n<p>After successfully creating source and bean config files run the application. The following message will be printed if everything goes fine:<br \/>\n<strong>ContextStartedEvent Received<\/strong><br \/>\n<strong>Your Message: Hello World!<\/strong><br \/>\n<strong>ContextStoppedEvent Received<\/strong><br \/>\nSo, this was all about Spring Event Handling. Hope you like our explanation.<\/p>\n<h2 class=\"western\">3. Conclusion<\/h2>\n<p>Hence, in this Spring Events tutorial, you studied about the Spring Event Handling and how they work. You also saw several standards of Event Handlers. Also, the working example on Eclipse IDE will help you understand event handling better. In the\u00a0upcoming article, you will see how you can make your own <a href=\"https:\/\/data-flair.training\/blogs\/spring-custom-event\/\"><strong>customized events in Spring<\/strong><\/a>.<br \/>\nRelated Topic-<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-transaction-management\/\">\u00a0Spring Transaction Management<\/a><\/strong><br \/>\n<strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Spring_Framework\">For reference<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In our previous Spring tutorial, we learned Spring Custom Event. In this Spring Events Tutorial, we are going to learn about Spring Event Handling. Moreover, we will see the working of event&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":18858,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[1018,1019,2955,2956,2957,2958,4225,11563,13226,13295,13319],"class_list":["post-18811","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-applicationevent-class","tag-applicationlistener-interface","tag-contextclosedevent","tag-contextrefreshedevent","tag-contextstartedevent","tag-contextstoppedevent","tag-events-in-spring-framework","tag-requesthandledevent","tag-spring-application","tag-spring-event-handling","tag-spring-framework-events"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Event Handling - 5 Standard of Event Handlers - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Event Tutorial-Spring Event Handling,Standard of Event Handlers, ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent, ContextClosedEvent\" \/>\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-event-handling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Event Handling - 5 Standard of Event Handlers - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Event Tutorial-Spring Event Handling,Standard of Event Handlers, ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent, ContextClosedEvent\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-event-handling\/\" \/>\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-23T04:05:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-15T06:57:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-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 Event Handling - 5 Standard of Event Handlers - DataFlair","description":"Spring Event Tutorial-Spring Event Handling,Standard of Event Handlers, ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent, ContextClosedEvent","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-event-handling\/","og_locale":"en_US","og_type":"article","og_title":"Spring Event Handling - 5 Standard of Event Handlers - DataFlair","og_description":"Spring Event Tutorial-Spring Event Handling,Standard of Event Handlers, ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent, ContextClosedEvent","og_url":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-23T04:05:28+00:00","article_modified_time":"2018-09-15T06:57:23+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-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-event-handling\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Spring Event Handling &#8211; 5 Standard of Event Handlers","datePublished":"2018-06-23T04:05:28+00:00","dateModified":"2018-09-15T06:57:23+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/"},"wordCount":585,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg","keywords":["ApplicationEvent class","ApplicationListener interface","ContextClosedEvent","ContextRefreshedEvent","ContextStartedEvent","ContextStoppedEvent","events in Spring Framework","RequestHandledEvent","Spring application","Spring Event Handling","Spring Framework Events"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-event-handling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/","url":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/","name":"Spring Event Handling - 5 Standard of Event Handlers - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg","datePublished":"2018-06-23T04:05:28+00:00","dateModified":"2018-09-15T06:57:23+00:00","description":"Spring Event Tutorial-Spring Event Handling,Standard of Event Handlers, ContextRefreshedEvent, ContextStartedEvent, ContextStoppedEvent, ContextClosedEvent","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-event-handling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Event-Handling-01.jpg","width":1200,"height":628,"caption":"Spring Event Handling - 5 Standard of Event Handlers"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-event-handling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Reading data from external files","item":"https:\/\/data-flair.training\/blogs\/tag\/reading-data-from-external-files\/"},{"@type":"ListItem","position":3,"name":"Spring Event Handling &#8211; 5 Standard of Event Handlers"}]},{"@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\/18811","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=18811"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18811\/revisions"}],"predecessor-version":[{"id":32591,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18811\/revisions\/32591"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18858"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=18811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=18811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=18811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}