Spring Interview questions and Answers
Spring is one of the most popular open-source app development frameworks for enterprise-class Java. This framework enables developers to build robust applications from plain old Java objects (POJOs) and apply enterprise services to POJOs. Hundreds and thousands of developers globally use Spring to create easy to test, high-performing, and reusable code.
Our Spring interview questions for experienced professionals is a huge hit amongst potential candidates looking for new jobs. Have you read them yet?
Spring is lightweight in terms of size. Some of its core features can be used to develop any Java application, and there are in-built extensions on top of the Java EE platform for building web applications. Spring Framework is called a one-stop platform for building enterprise-level Java applications. Reading Spring interview questions before your next interview may significantly enhance your chances of grabbing your next job.
Most Frequently Asked Spring Interview questions
Setter Injection is a type of dependency injection (DI) in which the framework uses a setter method to inject dependent objects into the client. The container first calls the no-argument constructor and later it calls the setters. Such setter-based injections can work even if dependencies are injected using the constructor.
Constructor injection uses a constructor for injecting dependencies on Spring-managed beans. The constructor DI is achieved when the container initiates a class constructor with arguments, each argument representing dependencies on other classes.
The Autowiring feature enables developers to inject dependencies in the object implicitly. Autowiring internally uses the setter or constructor injection. This feature cannot be used for injecting primitive or string values, and it only works with reference.
Configuration annotation is a part of the spring framework. It indicates that class includes @Bean definition methods. This helps the container process the class and generate Beans for using in the application and generating definitions and service requests at the runtime.
Autowired | Inject | |
---|---|---|
1. | Spring's legacy annotation | Available from Spring 3 onwards |
2. | Process to figure out dependencies of a bean | Standard annotation for DI |
3. | Contains 'required' attribute | Does not contain 'required' attribute |
The @Qualifier annotation in Spring is used in cases where the developer has created more beans of the same type but only wants to wire one of them with the said property. The @Qualifier annotation can be used with @Autowired for removing the confusion of specifying and identifying the exact bean to be wired.
Singleton | Prototype | |
---|---|---|
1. | Single bean to a single object | Single bean to any number of objects |
2. | Returns same object each time it gets injected | Creates a new object each time it gets injected |
3. | Use for stateless beans | Use for stateful beans |
DAO or Data Access Object is a design pattern where DAO is an object, which provides an abstract interface to a database or some other type of persistence mechanisms. This support aims at working with data access technologies like Hibernate and JPA easy and consistent.
Spring Security is one of the security modules in the Spring framework. Based on the Java SE/Java EE framework, it provides authentication and authorization to web and enterprise applications. This powerful and highly customizable framework is the de-facto standard for securing all spring-based apps.
@Controller annotation is a specialization of @Component class that allows the implementation class to be detected through classpath scanning. @Controller annotation annotates Classic controllers. @Controller annotation is used in MVC framework in combination with @RequestMapping annotation in request handling.
Like all MVC frameworks that provide a way to work with views, Spring offers the same feature through the view resolvers. The view resolvers enable the developers to render models in the browser without the need to implement a specific view method. In ViewResolver, you can map view names with actual views. Some of the view resolvers in the Spring framework are InternalResourceViewResolver, ResourceBundleViewResolver, and XmlViewResolver.
Development History of Spring
Written by Rod Johnson initially, Spring framework was released first in June 2003 under the Apache 2.0 license. Spring was developed in response to the highly complex J2EE specifications. Potential employers feel critical information like this should be known to candidates preparing for Spring interview question and answer.
Advantage of Spring
- Enables developers to use POJO to build enterprise-class applications
- Simpler testing processes
- MVC framework provides good alternative to other frameworks, like Struts
- Convenient API translates technology-specific exceptions
- Lightweight IoC containers and Consistent transaction management interface
Latest Version
Latest version 5.1.4 was released in Jan 2019