Full Stack Web Development Internship Program
- 3k Enrolled Learners
- Live Class
Spring is today the most widely used framework to develop enterprise applications in Java. Java, of course, is the big daddy of programming languages that contribute significantly to creating new and innovative job opportunities, year after year. Being a Spring certified professional will help you bag the best paying jobs related to Java. In case you are planning to attend Spring interviews in the near future, here is a list of definitive Spring interview questions and answers that you can prepare for. In case you have attended Spring interviews, we encourage you to paste and additional questions in the comments tab below. All the best!
|Lightweight||Spring Framework is lightweight with respect to size and transparency.|
|Inversion Of Control||Loose coupling is achieved using Inversion of Control where objects give their own dependencies instead of creating or looking for a dependent object in Spring.|
|Aspect Oriented Programming||Spring Framework separates the application business logic from system services, supports Aspect Oriented Programming and enables cohesive development.|
|Container||Spring Framework creates and manages the lifecycle and configuration of application objects.|
|MVC Framework||Spring Framework is an MVC web application framework which is configurable via interfaces and accommodates multiple view technologies.|
|Transaction Management||For transaction management, Spring framework provides a generic abstraction layer.|
|JDBC Exception Handling||The JDBC abstraction layer of the Spring Framework offers an exception hierarchy, which simplifies the error handling strategy.|
The Spring framework has the following modules:
A Spring configuration file is essentially an XML file that contains information on classes and describes how they are configured and introduced to each other.
Dependency Injection is a design pattern that allows users to remove hard-coded dependencies and ensure that the application is loosely coupled, extendable and maintainable. The dependency injection design pattern is used to move the dependency resolution from compile to runtime.
There are three ways to configure dependency injection in Spring: XML based configuration, Java based configuration and Annotation based configuration.
The important annotations are:
Aspect Oriented Programming basically breaks down program logic into smaller chunks called “concerns”. The functions across multiple points of an application are called cross-cutting concerns and these operate independent of the application’s core business logic. Some of the important Aspects in the context of Spring framework are; logging, auditing, caching and declarative transaction.
Beans are objects that form the backbone of a Spring application. They are managed by the Spring IoC container. In other words, a bean is an object that is instantiated, assembled, and managed by a Spring IoC container.
There are five Scopes defined in Spring beans. They are:
The Spring bean configuration file defines all the beans that will be initialized by Spring Context. When an instance of Spring ApplicationContext is created, it reads the spring bean xml file and initialize all of them. Once the context is initialized, it can be used to get different bean instances.
Spring Beans are initialized, along with all the dependencies by Spring Container. When the “context” is destroyed, it also destroys all the corresponding initialized beans. IN rare instances, beans need some level of validation before they can be used. The Spring framework also provides support for post-initialization and pre-destroy methods in spring beans.
DispatcherServlet is basically the front controller in the Spring MVC application as it loads the spring bean configuration file and initializes all the beans that have been configured. If annotations are enabled, it also scans the packages to configure any bean annotated with @Component, @Controller, @Repository or @Service annotations.
ContextLoaderListener, on the other hand, is the listener to start up and shut down the WebApplicationContext in Spring root. Some of its important functions includes tying up the lifecycle of ApplicationContext to the lifecycle of the ServletContext and automating the creation of ApplicationContext.
InternalResourceViewResolver is one of the implementations of the ViewResolver interface that allows you to view the page directory and suffix locationsthrough the bean properties.
MultipartResolver, on the other hand is the interface that is used for uploadingfiles. –CommonsMultipartResolver andStandardServletMultipartResolver are two implementations provided that are provided by the Spring framework for file uploading.
We can do this in three ways:
Spring simplifies database access handling with the Spring JDBC Template.
The Spring JDBC Template has many advantages compared to the standard JDBC:
Simply put, Concern is the desired behavior in a module of an application. It is the core functionality the programmer wants to implement.
Cross-cutting concern, on the other hand, is the Concern that is applicable across the entire application. Examples of Cross-cutting concern would be security, data transfer, logging etc.
Advice is an implementation of Aspect. It is inserted into an application at Join Points. There are different types of Advice including “around,” “before” and “after”.
A JoinPoint is an opportunity within the code to which we can apply an Aspect. In Spring programming, a Join Point always represents a method execution.
The Spring framework supports method executionJoinPoints.
Pointcut is a predicate that matches join points. A point cut defines at what JoinPoints an advice should be applied.
Target Object is a proxy object that is advised by one or more aspects.
It is the process of linking the Aspect with other applications.
Got a question for us? Please mention it in the comments section and we will get back to you.