

{"id":18856,"date":"2018-06-25T04:05:17","date_gmt":"2018-06-25T04:05:17","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=18856"},"modified":"2018-09-15T12:27:23","modified_gmt":"2018-09-15T06:57:23","slug":"spring-custom-event","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/","title":{"rendered":"Spring Custom Event &#8211; How to Design Customised Events"},"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;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-02 19:01:27&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<h2 class=\"western\">1. Objective<\/h2>\n<p>In our last tutorial, we discussed<a href=\"https:\/\/data-flair.training\/blogs\/spring-event-handling\/\"> <strong>Spring Event Handling<\/strong><\/a>\u00a0and here, we will learn about Spring Custom Event handling and the steps on how to design your own event handlers for Spring Framework. This session will help you make your own customized events by illustrating a working example on Eclipse IDE. An event-driven program is the one that responds to user events or similar type inputs. Basically, it is the one that is designed to react to the inputs.<br \/>\nSo, let&#8217;s start Spring Custom Event Handling.<\/p>\n<div id=\"attachment_18870\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18870\" class=\"wp-image-18870 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg\" alt=\"Spring Custom Event - How to Design Customised Events\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18870\" class=\"wp-caption-text\">Spring Custom Event &#8211; How to Design Customised Events in Spring Framework<\/p><\/div>\n<h2 class=\"western\">2. Spring Custom Event Handling<\/h2>\n<p>Here you will be learning to design your own custom events for your application. There are several steps which are required to make and publish your own customized events in <a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-tutorial\/\"><strong>Spring Framework<\/strong><\/a>.<br \/>\nThe following steps will help you design, publish and handle your Spring custom Events:<br \/>\ni. Create your project with name SpringEx and a package com.example. This should be under the src folder of your created project.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-ioc-containers\/\">Let&#8217;s revise Spring IoC Containers \u2013 Types of Spring Container<\/a><\/strong><br \/>\nii. Add the Spring Libraries that are required using the Add External JARs options.<br \/>\niii. Once you are done create an event class named CustomEvent extending ApplicationEvent. This must define default constructor inheriting constructor of ApplicationEvent class.<br \/>\niv. Now you can publish your event from any of the classes.<\/p>\n<ul>\n<li>Let us take an example of a class EventClassPublisher which implements ApplicationEventPubisherAware.<\/li>\n<li>This EventClassPublisher class should be declared in XML config file as a bean. This should be done so that the container can identify the bean as an event publisher.<\/li>\n<\/ul>\n<p>v.\u00a0A published event can be handled in class.<\/p>\n<ul>\n<li>Let us take an example, a class EventClassHandler which implements ApplicationListener interface.<\/li>\n<li>It also implements the method onApplicationEvent().<\/li>\n<\/ul>\n<p>vi.\u00a0Define config file Bean.xml under src.<br \/>\nvii. 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.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/java-tutorial\/\">Follow this link to know more about Java Programming Language<\/a><\/strong><\/p>\n<h2>3. Example on Eclipse IDE<\/h2>\n<p>After going through the above steps, you will see a working of Spring custom event by this example on Eclipse IDE.<\/p>\n<h3>a. CustomEvent.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ApplicationEvent;\r\npublic class CustomEvent extends ApplicationEvent\r\n{\r\npublic CustomEvent(Object source)\r\n{\r\nsuper(source);\r\n}\r\npublic String toString()\r\n{\r\nreturn \"My Custom Event\";\r\n}\r\n}<\/pre>\n<h3>b. CustomEventPublisher.java:<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ApplicationEventPublisher;\r\nimport org.springframework.context.ApplicationEventPublisherAware;\r\npublic class CustomEventPublisher implements ApplicationEventPublisherAware {\r\nprivate ApplicationEventPublisher publisher;\r\npublic void setApplicationEventPublisher (ApplicationEventPublisher publisher)\r\n{\r\nthis.publisher = publisher;\r\n}\r\npublic void publish()\r\n{\r\nCustomEvent ce = new CustomEvent(this);\r\npublisher.publishEvent(ce);\r\n}\r\n}<\/pre>\n<h3>c. CustomEventHandler.java<\/h3>\n<pre class=\"EnlighterJSRAW\">package com.example;\r\nimport org.springframework.context.ApplicationListener;\r\npublic class CustomEventHandler implements ApplicationListener&lt;CustomEvent&gt; {\r\npublic void onApplicationEvent(CustomEvent event)\r\n{\r\nSystem.out.println(event.toString());\r\n}\r\n}<\/pre>\n<h3>d. Now the MainApp.java is described 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\n{\r\npublic static void main(String[] args)\r\n{\r\nConfigurableApplicationContext context =\r\nnew ClassPathXmlApplicationContext(\"Beans.xml\");\r\nCustomEventPublisher cvp =\r\n(CustomEventPublisher) context.getBean(\"customEventPublisher\");\r\ncvp.publish();\r\ncvp.publish();\r\n}\r\n}<\/pre>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/spring-framework-features\/\">Do you know Why Spring Framework is Popular<\/a><\/strong><\/p>\n<h3>e. The config file Beans.xml<\/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 = \"customEventHandler\" class = \"com.example.CustomEventHandler\"\/&gt;\r\n&lt;bean id = \"customEventPublisher\" class = \"com.example.CustomEventPublisher\"\/&gt;\r\n&lt;\/beans&gt;\r\n<\/pre>\n<p>Finally, after creating the source files and bean configuration files, if everything is fine the following output message can be seen:<br \/>\n<strong>y Custom Event<\/strong><br \/>\n<strong>y Custom Event<\/strong><br \/>\nSo, this was all about Spring Custom Events. Hope you like our explanation.<\/p>\n<h2 class=\"western\">4. Conclusion<\/h2>\n<p>Hence, after this session on Spring Custom Event Handling, you got the basic knowledge of the event handling in Spring Framework and how to customize your event to your need in an application. You also got step by step learning of making your own events with the help of working example on Eclipse IDE. Now, you are able to make your own event handlers for your Spring Application.<br \/>\nRelated Topic- <a href=\"https:\/\/data-flair.training\/blogs\/spring-batch\/\"><strong>Spring Batch<\/strong><\/a><br \/>\n<strong><a href=\"https:\/\/spring.io\/\">For reference<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In our last tutorial, we discussed Spring Event Handling\u00a0and here, we will learn about Spring Custom Event handling and the steps on how to design your own event handlers for Spring Framework.&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":18870,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[3239,4370,8500,13287,13288],"class_list":["post-18856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring","tag-customized-spring-events","tag-example-on-eclipse-ide","tag-make-your-own-customized-events","tag-spring-custom-event-handling","tag-spring-custom-events"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Custom Event - How to Design Customised Events - DataFlair<\/title>\n<meta name=\"description\" content=\"Spring Custom Event, Design customized event in Spring Framework with an example of eclipse IDE, event handlers for your Spring Application,CustomEvent.java\" \/>\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-custom-event\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Custom Event - How to Design Customised Events - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spring Custom Event, Design customized event in Spring Framework with an example of eclipse IDE, event handlers for your Spring Application,CustomEvent.java\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spring-custom-event\/\" \/>\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-25T04:05:17+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-Custom-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 Custom Event - How to Design Customised Events - DataFlair","description":"Spring Custom Event, Design customized event in Spring Framework with an example of eclipse IDE, event handlers for your Spring Application,CustomEvent.java","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-custom-event\/","og_locale":"en_US","og_type":"article","og_title":"Spring Custom Event - How to Design Customised Events - DataFlair","og_description":"Spring Custom Event, Design customized event in Spring Framework with an example of eclipse IDE, event handlers for your Spring Application,CustomEvent.java","og_url":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-25T04:05:17+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-Custom-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-custom-event\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Spring Custom Event &#8211; How to Design Customised Events","datePublished":"2018-06-25T04:05:17+00:00","dateModified":"2018-09-15T06:57:23+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/"},"wordCount":523,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg","keywords":["customized Spring Events","example on Eclipse IDE","make your own customized events","Spring Custom Event Handling","Spring Custom Events"],"articleSection":["Spring Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spring-custom-event\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/","url":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/","name":"Spring Custom Event - How to Design Customised Events - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg","datePublished":"2018-06-25T04:05:17+00:00","dateModified":"2018-09-15T06:57:23+00:00","description":"Spring Custom Event, Design customized event in Spring Framework with an example of eclipse IDE, event handlers for your Spring Application,CustomEvent.java","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spring-custom-event\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Spring-Custom-Event-Handling-01.jpg","width":1200,"height":628,"caption":"Spring Custom Event - How to Design Customised Events in Spring Framework"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spring-custom-event\/#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 Custom Event &#8211; How to Design Customised Events"}]},{"@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\/18856","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=18856"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18856\/revisions"}],"predecessor-version":[{"id":32597,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/18856\/revisions\/32597"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18870"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=18856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=18856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=18856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}