Spring Boot Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. What is Spring Boot?
Spring Boot is an open source Java-based framework used to create a microservice. It is developed by Pivotal Team and is used to build stand-alone and production ready spring applications.
Ques 2. Why to use Spring Boot?
- It provides a flexible way to configure Java Beans, XML configurations, and Database Transactions.
- It provides a powerful batch processing and manages REST endpoints.
- In Spring Boot, everything is auto configured; no manual configurations are needed.
- It offers annotation-based spring application.
- Eases dependency management.
- It includes Embedded Servlet Container.
- Creates production ready microservices.
Ques 3. Mention some advantages of Spring Boot.
- Helps you to create a stand-alone application, which can be started using java.jar.
- It offers pinpointed started POMs to Maven configuration.
- Allows you to Embed Undertow, Tomcat, or Jetty directly.
- Helps you to configure spring whenever possible automatically.
Ques 4. How to create a Spring Boot application using Spring Initializer?
It is an web application provided by Spring on its official website. However, you can also create Spring Boot project by entering project details.
Ques 5. What are the ways to create Spring Boot project?
- Using Spring.io initializer.
- Using Eclipse or any similar IDE and Maven simple project.
- Using Spring Tool Suite.
- Using CLI.
Ques 6. What are the advantages of microservice?
- It makes development fast and easy.
- Compatible with all container.
- Reduce production time.
- It is a lightweight model that supports a major business application.
Ques 7. Explain different types of dependency injection.
- Constructor based dependency injection: It is a technique in which one class object supplies the dependency of another object.
- Setter-based dependency injection: It is a dependency injection in which the framework injects the primitive and string-based values using setter method.
Ques 8. What are the commands to run and stop Spring Boot executable jar file?
java -jar
$ java -jar spring-boot-sample-0.0.1-SNAPSHOT.jar
Press ctrl+C
Ques 9. What is the process that you need to follow to run Spring Boot application on the custom port?
In order to run a Spring Boot application, you require to put server.port property in application.properties.
Ques 10. Can you use Spring Boot with applications which are not using Spring?
No, it is not possible as Spring Boot is limited to Spring application only.
Ques 11. What is the name of the configuration file which you can use in Spring Boot?
The configuration file used in Spring Boot projects is called application.properties. It is an important file which allows you to override your default configurations.
Ques 12. How are properties defined in Spring Boot and where?
database.host=localhost
Ques 13. Explain @RestController annotation in Spring Boot?
Ques 14. Where can you define properties in Spring Boot application?
You can define properties of Spring Boot into a file called application.properties. It helps you to create this file manually, or you can use Spring Initializer to create this file.
Ques 15. What are the Spring Boot properties?
Spring Boot offers various properties which can be specified inside our project’s application.properties file. It helps you to set values like a server-port number, database connection configuration, etc.
Ques 16. Explain Auto-Configuration in Spring Boot.
Auto-configuration is used to configure Spring application automatically based on dependencies of classpath parameter. It makes development faster and easier.
Ques 17. How to enable logging in Spring Boot?
In order to enable debug logging, you can specify --debug while starting the application from the command prompt.
Ques 18. Explain overriding default properties in Spring Boot application.
Spring Boot has lots of properties that can be easily overridden by specifying them in application.properties.
Ques 19. What is the default package in Spring Boot?
A class without any package declaration is considered as a default package.
Intermediate / 1 to 5 years experienced level questions & answers
Ques 20. How can you change JDK version in Spring Boot?
<properties>
<java.version>11</java.version>
</properties>
Ques 21. What is Spring Boot starter? How is it useful?
Ques 22. How can you access a value defined in the application? What is properties file in Spring Boot?
@Value(”${custom.value}”)private String customVal;
Ques 23. What is the primary difference between Spring and Spring Boot?
Spring is a web application development framework based on Java. On the other hand Spring Boot is an extension of the spring framework which eliminated the boilerplate configuration required for setup a Spring application.
Ques 24. How can you connect Spring Boot to the database using JPA?
Spring Boot supports spring-boot-starter-data-jpa, which helps you to connect spring application with a relational database.
Ques 25. What is the main difference between JPA and Hibernate?
The main difference between both of them is that JPA is a specification/Interface, whereas Hibernate is only JPA implementations.
Ques 26. What are Spring Boot Starter Projects?
Starters in Spring Boot are a set of convenient descriptors that are included in Spring Boot applications. It comes with a variety of Spring-related technology which makes the entire process of the application development much easier.
Ques 27. What is @pathVariable?
@PathVariable annotation helps you to extract information from the URI directly.
Ques 28. How to scan all the beans and package declarations in Spring Boot?
Experienced / Expert level questions & answers
Ques 29. What is DevTools in Spring Boot?
Spring Boot DevTools helps you to increase the productivity of the developer. So, you do not require to redeploy your application every time you make the changes. It allows the developer to reload changes without the need of restarting of the server.
Ques 30. What are the essential components of Spring Boot?
- Spring Boot Starter
- Spring Boot autoconfiguration
- Spring Boot Actuator
- Spring Boot CLI
Ques 31. What is spring-boot-starter-parent?
It is a special starter which makes Gradle or Maven dependency-management easy by adding jars to your classpath.
Ques 32. How to enable HTTP/2 supports in Spring Boot?
Ques 33. What is a Spring Boot Actuator?
Spring Boot Actuator allows you to monitor and manage your application when you want to push it for the production. It helps you to control your application by using HTTP endpoints.
Ques 34. Explain Spring Boot Admin.
Spring Boot admin is a community project which helps you to manage and monitor your Spring Boot applications.
Ques 35. Explain Spring CLI.
Spring CLI is used for writing in Groovy Spring Boot application, which helps you to concise code.
Ques 36. What are embedded containers support by Spring?
- Tomcat
- Jetty
- Undertow.
Ques 37. Explain thymeleaf in Spring Boot.
Thymelaf is a server-side Java template engine for a web application. It helps you to bring elegant natural templates to your web application.
Ques 38. What is a shutdown in the actuator?
Ques 39. Is it possible to replace or override the Embedded Tomcat server in Spring Boot?
Yes, it is possible to replace the Embedded Tomcat with any other servers by using the starter dependencies. For that, you can use spring-boot-starter-jetty or as a dependency for according you to your need.
Ques 40. Can you disable the default web server in the Spring Boot application?
Yes, we can disable the default web server by using application.properties to configure the web application type.
Ques 41. How do you Add, Filter to an application?
- By implementing Filter interface.
- Using FilterRegistrationBean.
- Using MVC controller.
Ques 42. What is the use of profiles in Spring Boot?
Profiles are used to separate various parts of your spring application configuration and make it only available in certain environments.
Ques 43. What is LiveReload in Spring Boot?
LiveReload is a spring-boot-devtools module that includes LiveReload server to trigger a browser refresh when a resource is changed. LiveReload server extensions are available freeware for Firefox, Chrome, and Safari.
Ques 44. What are the major benefits of spring Externalized Configuration?
Externalized Configuration helps to work with the same code in different environments. Developers can use YAML files, properties files, command-line arguments, and environment variables to externalize configuration.
Ques 45. What do you mean by hot-swapping in Spring Boot?
It is a way to reload the changes without restarting Tomcat, or Jetty server. Eclipse and Many other IDEs support bytecode hot swapping. If you make any changes that don’t affect the method signature, it should reload without side effect.
Ques 46. How to handle exception in Spring Boot.
Spring Boot provides a very useful way to handle exceptions using @ControllerAdvice annotation.
Ques 47. What is mean by spring batch?
Spring Boot Batch provides code reusability which is important when working with large numbers of records, including transaction management, logging, skipping, job processing statistics, and job restarts.
Ques 48. Explain CORS in Spring Boot?
CORS stands for Cross-Origin Resource Sharing is a mechanism implemented by browsers and helps users to authorize cross-domain requests. This mechanism serves as an alternative to less secure and less powerful hacks of the kinds of IFrame or JSONP.
Ques 49. How can you set active profile in Spring Boot?
- Pass this profile as an argument when you launch the Spring Boot application (java -jar -Dspring.profiles.active=dev Sample-1.0-SNAPSHOT.jar).
- Set active the active profile in application.properties file (spring.profiles.active=dev).
Ques 50. List out some of the Spring Boot Starters.
- Security
- Parent
- web
- Thymeleaf
- Freemarker
Most helpful rated by users:
- What is Spring Boot?
- How to scan all the beans and package declarations in Spring Boot?
- What are embedded containers support by Spring?
- What are the advantages of microservice?