Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • GfG 160: Daily DSA
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Java Tutorial
  • Java Spring
  • Spring Interview Questions
  • Java SpringBoot
  • Spring Boot Interview Questions
  • Spring MVC
  • Spring MVC Interview Questions
  • Java Hibernate
  • Hibernate Interview Questions
  • Advance Java Projects
  • Java Interview Questions
Open In App
Next Article:
Introduction to Spring Boot
Next article icon

Spring Boot Tutorial

Last Updated : 02 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications.

This Spring Boot Tutorial is a comprehensive guide that covers both basic and advanced concepts of the Spring Framework. It is designed for beginners as well as professionals.

Spring Boot Tutorial

Spring Boot, a module of the Spring framework, facilitates Rapid Application Development (RAD) capabilities.

This Spring tutorial includes basic to advanced topics of Spring Boot, like Basics of Spring Boot, Spring Boot core, Spring Boot REST API, Spring Boot with Microservices, Spring Boot with Kafka, Spring Boot with Database and Data JPA, etc.

What is Spring Boot?

Spring Boot is an open-source Java framework used to create a Micro Service. Spring boot is developed by Pivotal Team, and it provides a faster way to set up and an easier, configure, and run both simple and web-based applications. It is a combination of Spring Framework and Embedded Servers. The main goal of Spring Boot is to reduce development, unit test, and integration test time and in Spring Boot, there is no requirement for XML configuration.

Prerequisite of Spring Boot

  • Understanding of Java syntax and core concepts such as classes, objects, inheritance, interfaces, and exception handling
  • Basic understanding of the Spring framework
  • Knowledge of Web Technologies
  • Familiarity with build tools such as Maven or Gradle

Table of Content

  • Spring Boot - Basics
  • Spring Boot - Software Setup and Configuration (STS/Eclipse/IntelliJ)
  • Prerequisite (Spring Core Concepts)
  • Spring Boot Core
  • Spring Boot with REST API
  • Spring Boot with Database and Data JPA
  • Spring Boot with Microservices
  • Spring Boot with Kafka
  • Spring Boot with AOP
  • Spring Boot Testing
  • What You Can Do with Spring Boot
  • Spring Boot Features
  • Spring Boot Advantages
  • Limitations of Spring Boot

Spring Boot - Basics

  • Introduction to Spring Boot
  • 7 Major Reasons to Choose Spring Boot For Microservices Development
  • Best Way to Master Spring Boot – A Complete Roadmap
  • Difference between Spring and Spring Boot
  • Difference between Spring MVC and Spring Boot
  • How to Create a Simple Spring Boot Project?
  • How to Run Spring Boot Application?

Spring Boot - Software Setup and Configuration (STS/Eclipse/IntelliJ)

  • How to Download and Install Spring Tool Suite (Spring Tools 4 for Eclipse) IDE?
  • How to Create and Setup Spring Boot Project in Spring Tool Suite?
  • How to Create a Spring Boot Project with IntelliJ IDEA?
  • How to Create and Setup Spring Boot Project in Eclipse IDE?
  • How to Run Your First Spring Boot Application in IntelliJ IDEA?
  • How to Run Your First Spring Boot Application in Spring Tool Suite?

Prerequisite (Spring Core Concepts)

In this section, we will learn some of the essential Spring Core Concepts as prerequisites. If you already know these concepts then you can skip this section.

  • Understanding Inversion of Control with Example
  • Spring – BeanFactory
  • Spring – ApplicationContext
  • Spring – Difference Between BeanFactory and ApplicationContext
  • Spring Dependency Injection with Example
  • Spring – Difference Between Inversion of Control and Dependency Injection
  • Spring – Injecting Objects By Constructor Injection
  • Spring – Dependency Injection by Setter Method
  • Spring – Injecting Objects by Setter Injection
  • Spring – Injecting Literal Values By Setter Injection
  • Spring – Injecting Literal Values By Constructor Injection
  • Bean life cycle in Java Spring
  • Custom Bean Scope in Spring
  • How to Create a Spring Bean in 3 Different Ways?
  • Spring – IoC Container
  • Spring – Autowiring
  • Singleton and Prototype Bean Scopes in Java Spring
  • How to Configure Dispatcher Servlet in web.xml File?

Spring Boot Core

  • Spring Boot Architecture
  • Spring Boot Annotations
  • Spring Boot Actuator
  • How to create a basic application in Java Spring Boot
  • Best Practices For Structuring Spring Boot Application
  • Spring Boot – Hello World Example
  • How to Create a Spring Boot Project in Spring Initializr and Run it in IntelliJ IDEA?
  • Dynamic Dropdown From Database using Spring Boot
  • How to Get the Body of Request in Spring Boot?
  • How to Make Put Request in Spring Boot?
  • Spring Boot – Code Structure
  • Spring Boot – RestTemplate
  • Spring Boot – Change Port
  • Spring Boot – Scheduling
  • Spring Boot – Sending Email via SMTP
  • Spring Boot – Transaction Management Using @Transactional Annotation
  • Spring Boot – Map Entity to DTO using ModelMapper
  • Spring Boot – Validation using Hibernate Validator
  • Spring Boot – Cache Provider
  • Spring Boot – Logging
  • Spring Boot – Auto-configuration
  • Spring Boot – EhCaching
  • Spring Boot – File Handling
  • Spring Boot – Service Class Example for Displaying Response Codes and Custom Error Codes
  • Spring Boot – Create a Custom Auto-Configuration
  • Spring Boot – Starter Test
  • Spring Boot – Exception Handling
  • Spring Boot – Project Deployment Using Tomcat
  • Spring Boot – Packaging
  • Spring Boot – Thymeleaf with Example
  • Spring Boot – Multi-Module Project
  • Spring Boot – DevTools
  • Spring Boot – Dependency Management
  • Spring Boot – Caching
  • Spring Boot – Starter Web
  • Spring Boot – application.yml/application.yaml File
  • Spring Boot – Application Properties
  • Spring Boot – Starter Parent
  • Spring Boot – Customize the Jackson ObjectMapper
  • Spring Boot – Starters
  • Spring Boot – Difference Between @Service Annotation and @Repository Annotation
  • How to Make a Simple RestController in Spring Boot?
  • How to Implement Simple Authentication in Spring Boot?
  • What is PathVariable in the Spring Boot?
  • Validation in Spring Boot
  • What is Command Line Runner Interface in Spring Boot?
  • Difference Between Spring Boot Starter Web and Spring Boot Starter Tomcat
  • How to Dockerize a Spring boot application with Maven
  • Creating a Spring Boot App using Dockerfile
  • How to encrypt passwords in a Spring Boot project using Jasypt
  • Upload Multiple Files in Spring Boot using JPA, Thymeleaf, Multipart
  • How to Implement One-to-Many Mapping in Spring Boot?
  • Deploying Spring Boot Application with MySQL Database on Azure
  • How to Call or Consume External API in Spring Boot?
  • How to Create Todo List API using Spring Boot and MySQL?
  • How to Make a Project Using Spring Boot, MySQL, Spring Data JPA, and Maven?

Spring Boot with REST API

  • Spring Boot – Introduction to RESTful Web Services
  • Spring Boot – REST Example
  • How to create a REST API using Java Spring Boot
  • Easiest Way to Create REST API using Spring Boot
  • How to Make a Simple RestController in Spring Boot?
  • JSON using Jackson in REST API Implementation with Spring Boot

Spring Boot with Database and Data JPA

  • Spring Boot – H2 Database
  • Spring Boot – JDBC
  • Advantages of Spring Boot JDBC
  • Spring Boot – CRUD Operations
  • Spring Boot – Integrating Hibernate and JPA
  • Spring Boot - MongoRepository with Example
  • Spring Boot - JpaRepository with Example
  • Spring Boot - CrudRepository with Example
  • Spring Boot – Difference Between CrudRepository and JpaRepository
  • Spring Boot – CRUD Operations using MongoDB
  • How to Connect MongoDB with Spring Boot?
  • Spring Boot – Spring Data JPA
  • Spring Boot – CRUD Operations using MySQL Database
  • Spring Boot Integration With MySQL as a Maven Project
  • Spring Boot Integration With MongoDB as a Maven Project
  • Spring Boot Integration With PostgreSQL as a Maven Project
  • Spring Boot JPA Sample Maven Project With Query Methods
  • How to Make a Project Using Spring Boot, MySQL, Spring Data JPA, and Maven?

Spring Boot with Microservices

  • Java Spring Boot Microservices Sample Project
  • Different Ways to Establish Communication Between Spring Microservices

Spring Boot with Kafka

  • Spring Boot Kafka Producer Example
  • Spring Boot Kafka Consumer Example
  • Spring Boot - How to consume JSON messages using Apache Kafka
  • Spring Boot - How to consume string messages using Apache Kafka
  • Spring Boot - How to publish String messages on Apache Kafka
  • Spring Boot - How to publish JSON messages on Apache Kafka
  • Spring Boot – Create and Configure Topics in Apache Kafka
  • Spring Boot – Consume JSON Object From Kafka Topics
  • Spring Boot – Start/Stop a Kafka Listener Dynamically
  • Message Compression in Apache Kafka using Spring Boot
  • Spring Boot – Consume Message Through Kafka, Save into ElasticSearch, and Plot into Grafana

Spring Boot with AOP

  • How to Implement AOP in Spring Boot Application?
  • Spring Boot – AOP(Aspect Oriented Programming)
  • Spring Boot – Cache Provider
  • Spring Boot – AOP Around Advice
  • Spring Boot – Difference Between AOP and OOP
  • Spring Boot – Difference Between AOP and AspectJ
  • Spring Boot – AOP After Throwing Advice
  • Spring Boot – AOP After Returning Advice
  • Spring Boot – AOP After Advice
  • Spring Boot – AOP Before Advice

Spring Boot Testing

  • Unit Testing in Spring Boot Project using Mockito and Junit
  • How to Test Spring Boot Project using ZeroCode?
  • Spring Boot MockMVC Testing with Example Project
  • Spring Boot MockMVC Example

What You Can Do with Spring Boot

Spring Boot allows for the rapid development of apps. It examines your classpath and the beans you've configured, makes educated guesses about what you're missing, and adds those objects. With Spring Boot, you can concentrate on business aspects rather than infrastructure.

Spring Boot Features

  • Web Development
  • Spring Application
  • Application events and listeners
  • Admin features
  • Externalized Configuration
  • Properties Files
  • YAML Support
  • Type-safe Configuration
  • Logging
  • Security

Spring Boot Advantages

  • It generates standalone Spring applications that are launched with the Java -jar command.
  • It easily tests web applications using several Embedded HTTP servers like as Tomcat, Jetty, and others. We don't need to distribute WAR files.
  • It provides 'starter' POMs with strong opinions to help us simplify our Maven settings.
  • It includes features that are ready for production, such as metrics, health checks, and externalised settings.
  • There is no need for XML configuration.
  • It includes a command-line utility for designing and testing Spring Boot applications.
  • It provides a number of plug-ins.
  • It also minimizes writing multiple boilerplate codes, XML configuration, and annotations.
  • It boosts productivity while decreasing development time.

Limitations of Spring Boot

While Spring Boot is powerful, it has some drawbacks to consider:

  • It can be tricky to learn at first, especially for beginners.
  • It may use more memory and take longer to start compared to simpler frameworks.
  • Its conventions can restrict customization options for specific needs.
  • Managing multiple microservices can get complicated.
  • Upgrading or integrating with certain tools may be tricky.
  • Applications built with Spring Boot can be larger to deploy.

Conclusion

You've made it through our Spring Boot tutorial, and now you have a solid grasp of essential concepts like dependency injection, Spring Boot starters, and application configuration. With these new skills, you're ready to build and deploy efficient, scalable Java applications. Spring Boot simplifies the development process, whether you're creating microservices, RESTful web services, or enterprise applications. Keep exploring the vast Spring Boot ecosystem, stay active in the developer community, and apply what you've learned to real-world projects.


Next Article
Introduction to Spring Boot
author
abhishek1
Improve
Article Tags :
  • Advance Java
  • Java-Spring-Boot
  • Tutorials

Similar Reads

  • Spring Boot Tutorial
    Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
    10 min read
  • Introduction to Spring Boot
    Spring is widely used for creating scalable applications. For web applications, Spring provides Spring MVC, a commonly used module for building robust web applications. The major drawback of traditional Spring projects is that configuration can be time-consuming and overwhelming for new developers.
    5 min read
  • Best Way to Master Spring Boot – A Complete Roadmap
    In the corporate world, they say "Java is immortal!". But Why? Java remains one of the major platforms for developing enterprise applications. Enterprise Applications are used by large companies to make money. Those applications have high-reliability requirements and an enormous codebase. According
    14 min read
  • How to Create a Spring Boot Project?
    Spring Boot is built on top of the spring and contains all the features of spring. It is one of the most popular frameworks for building Java-based web applications and microservices. It is a favorite among developers due to its rapid, production-ready environment, which allows developers to focus o
    6 min read
  • Spring Boot - Annotations
    Spring Boot Annotations are a form of metadata that provides data about a spring application. Spring Boot is built on the top of the spring and contains all the features of spring. And is becoming a favorite of developers these days because of its rapid production-ready environment which enables the
    7 min read
  • Spring Boot - Architecture
    Spring Boot is built on top of the core Spring framework. It simplifies and automates Spring-based application development by reducing the need for manual configuration. Spring Boot follows a layered architecture, where each layer interacts with other layers in a hierarchical order. The official Spr
    3 min read
  • Spring Boot Actuator
    Developing and managing an application are the two most important aspects of the application’s life cycle. It is very important to know what is going on beneath the application. Also, when we push the application into production, managing it gradually becomes critically important. Therefore, it is a
    5 min read
  • Spring Boot - Introduction to RESTful Web Services
    RESTful Web Services REST stands for REpresentational State Transfer. It was developed by Roy Thomas Fielding, one of the principal authors of the web protocol HTTP. Consequently, REST was an architectural approach designed to make the optimum use of the HTTP protocol. It uses the concepts and verbs
    5 min read
  • How to create a basic application in Java Spring Boot
    Spring Boot is the most popular Java framework that is used for developing RESTful web applications. In this article, we will see how to create a basic Spring Boot application.Spring Initializr is a web-based tool using which we can easily generate the structure of the Spring Boot project. It also p
    3 min read
  • How to Create a REST API using Java Spring Boot?
    Representational State Transfer (REST) is a software architectural style that defines a set of constraints for creating web services. RESTful web services allow systems to access and manipulate web resources through a uniform and predefined set of stateless operations. Unlike SOAP, which exposes its
    4 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

'); // $('.spinner-loading-overlay').show(); let script = document.createElement('script'); script.src = 'https://assets.geeksforgeeks.org/v2/editor-prod/static/js/bundle.min.js'; script.defer = true document.head.appendChild(script); script.onload = function() { suggestionModalEditor() //to add editor in suggestion modal if(loginData && loginData.premiumConsent){ personalNoteEditor() //to load editor in personal note } } script.onerror = function() { if($('.editorError').length){ $('.editorError').remove(); } var messageDiv = $('
').text('Editor not loaded due to some issues'); $('#suggestion-section-textarea').append(messageDiv); $('.suggest-bottom-btn').hide(); $('.suggestion-section').hide(); editorLoaded = false; } }); //suggestion modal editor function suggestionModalEditor(){ // editor params const params = { data: undefined, plugins: ["BOLD", "ITALIC", "UNDERLINE", "PREBLOCK"], } // loading editor try { suggestEditorInstance = new GFGEditorWrapper("suggestion-section-textarea", params, { appNode: true }) suggestEditorInstance._createEditor("") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } //personal note editor function personalNoteEditor(){ // editor params const params = { data: undefined, plugins: ["UNDO", "REDO", "BOLD", "ITALIC", "NUMBERED_LIST", "BULLET_LIST", "TEXTALIGNMENTDROPDOWN"], placeholderText: "Description to be......", } // loading editor try { let notesEditorInstance = new GFGEditorWrapper("pn-editor", params, { appNode: true }) notesEditorInstance._createEditor(loginData&&loginData.user_personal_note?loginData.user_personal_note:"") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } var lockedCasesHtml = `You can suggest the changes for now and it will be under 'My Suggestions' Tab on Write.

You will be notified via email once the article is available for improvement. Thank you for your valuable feedback!`; var badgesRequiredHtml = `It seems that you do not meet the eligibility criteria to create improvements for this article, as only users who have earned specific badges are permitted to do so.

However, you can still create improvements through the Pick for Improvement section.`; jQuery('.improve-header-sec-child').on('click', function(){ jQuery('.improve-modal--overlay').hide(); $('.improve-modal--suggestion').hide(); jQuery('#suggestion-modal-alert').hide(); }); $('.suggest-change_wrapper, .locked-status--impove-modal .improve-bottom-btn').on('click',function(){ // when suggest changes option is clicked $('.ContentEditable__root').text(""); $('.suggest-bottom-btn').html("Suggest changes"); $('.thank-you-message').css("display","none"); $('.improve-modal--improvement').hide(); $('.improve-modal--suggestion').show(); $('#suggestion-section-textarea').show(); jQuery('#suggestion-modal-alert').hide(); if(suggestEditorInstance !== null){ suggestEditorInstance.setEditorValue(""); } $('.suggestion-section').css('display', 'block'); jQuery('.suggest-bottom-btn').css("display","block"); }); $('.create-improvement_wrapper').on('click',function(){ // when create improvement option clicked then improvement reason will be shown if(loginData && loginData.isLoggedIn) { $('body').append('
'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.unlocked-status--improve-modal-content').css("display","none"); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status) }, }); } else { if(loginData && !loginData.isLoggedIn) { $('.improve-modal--overlay').hide(); if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) { $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click(); } return; } } }); $('.left-arrow-icon_wrapper').on('click',function(){ if($('.improve-modal--suggestion').is(":visible")) $('.improve-modal--suggestion').hide(); else{ } $('.improve-modal--improvement').show(); }); const showErrorMessage = (result,statusCode) => { if(!result) return; $('.spinner-loading-overlay:eq(0)').remove(); if(statusCode == 403) { $('.improve-modal--improve-content.error-message').html(result.message); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); return; } } function suggestionCall() { var editorValue = suggestEditorInstance.getValue(); var suggest_val = $(".ContentEditable__root").find("[data-lexical-text='true']").map(function() { return $(this).text().trim(); }).get().join(' '); suggest_val = suggest_val.replace(/\s+/g, ' ').trim(); var array_String= suggest_val.split(" ") //array of words var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val(); var error_msg = false; if(suggest_val != "" && array_String.length >=4){ if(editorValue.length { jQuery('.ContentEditable__root').focus(); jQuery('#suggestion-modal-alert').hide(); }, 3000); } } document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){ jQuery('body').append('
'); jQuery('.spinner-loading-overlay').show(); if(loginData && loginData.isLoggedIn) { suggestionCall(); return; } // script for grecaptcha loaded in loginmodal.html and call function to set the token setGoogleRecaptcha(); }); $('.improvement-bottom-btn.create-improvement-btn').click(function() { //create improvement button is clicked $('body').append('
'); $('.spinner-loading-overlay').show(); // send this option via create-improvement-post api jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status); }, }); });
"For an ad-free experience and exclusive features, subscribe to our Premium Plan!"
Continue without supporting
`; $('body').append(adBlockerModal); $('body').addClass('body-for-ad-blocker'); const modal = document.getElementById("adBlockerModal"); modal.style.display = "block"; } function handleAdBlockerClick(type){ if(type == 'disabled'){ window.location.reload(); } else if(type == 'info'){ document.getElementById("ad-blocker-div").style.display = "none"; document.getElementById("ad-blocker-info-div").style.display = "flex"; handleAdBlockerIconClick(0); } } var lastSelected= null; //Mapping of name and video URL with the index. const adBlockerVideoMap = [ ['Ad Block Plus','https://media.geeksforgeeks.org/auth-dashboard-uploads/abp-blocker-min.mp4'], ['Ad Block','https://media.geeksforgeeks.org/auth-dashboard-uploads/Ad-block-min.mp4'], ['uBlock Origin','https://media.geeksforgeeks.org/auth-dashboard-uploads/ub-blocke-min.mp4'], ['uBlock','https://media.geeksforgeeks.org/auth-dashboard-uploads/U-blocker-min.mp4'], ] function handleAdBlockerIconClick(currSelected){ const videocontainer = document.getElementById('ad-blocker-info-div-gif'); const videosource = document.getElementById('ad-blocker-info-div-gif-src'); if(lastSelected != null){ document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.backgroundColor = "white"; document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.borderColor = "#D6D6D6"; } document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.backgroundColor = "#D9D9D9"; document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.borderColor = "#848484"; document.getElementById('ad-blocker-info-div-name-span').innerHTML = adBlockerVideoMap[currSelected][0] videocontainer.pause(); videosource.setAttribute('src', adBlockerVideoMap[currSelected][1]); videocontainer.load(); videocontainer.play(); lastSelected = currSelected; }

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences