Faculty Department Level Speciality
NTIC TLSI L3 GL
Spring Boot
2
SPRING
§ The Spring Framework is a comprehensive and modular framework for building
enterprise applications in Java.
§ It provides a wide range of features to facilitate the development of complex, large-scale
applications.
§ It came out to address the complexity of J2EE and to make development easier.
§ Reducing Repetitive code which needed often and focus on the main logic .
3
4
STRENGTHS
§ Inversion of Control (IoC) and Dependency Injection (DI) to reduce the coupling between
the components of an application which enables: enhance flexibility and extensibility,
promote testability, make debugging and maintenance easier, promotes reusability, etc.
§ Aspect-Oriented Programming (AOP) allows developers to modularize cross-cutting
concerns, such as logging, security, and transaction management, and apply them to
multiple components of an application.
5
6
PROBLEMS
§ Complex Configuration: Configuring a Spring application traditionally required a
significant amount of XML or Java-based configuration.
§ Boilerplate Code: Spring applications often required a lot’s of repeated code for setting
up basic features like web servers, data access.
§ Container Dependency: Spring applications require the Spring container to be running,
which might not be suitable for all environments or deployment scenarios.
§ Complexity for Simple Projects: For very simple applications, using Spring might be
overkill. In such cases, a lighter-weight framework might be more appropriate.
7
A SOLUTION
Spring Boot
§ standalone
production-ready
§ simplifies the process of building and deploying spring applications
reduces the need for manual
configuration.
8
FEATURES
§ Opinionated Defaults: Spring Boot comes with pre-defined settings and configurations
for various aspects of application development.
§ Reduces the need for developers to make many decisions about configurations.
§ Allows focusing on writing business logic.
§ Production-Ready: Spring Boot is designed to create applications that are ready for
production deployment.
§ It includes features like health checks, metrics, and ready-to-use management endpoints,
§ Enables monitoring and managing applications in a production environment.
9
FEATURES
§ Spring Boot Auto-Configuration: Spring Boot automatically configure application components
based on the libraries on the classpath.
§ No Code Generation or Requirement for XML Configuration: Spring Boot eliminates the need for
code generation and minimizes the use of XML configuration files.
§ It encourages annotation-based configuration and relies heavily on convention over configuration.
10
FEATURES
§ Spring Boot Starters: Spring Boot provides a collection of pre-defined templates, known as
"starters," which include commonly used dependencies and boilerplate code for various types of
applications (e.g., web applications, data access, messaging, etc.).
§ Spring Initializer: This is a tool provided by the Spring team to generate a new Spring Boot
project with specific dependencies and settings.
§ It's a convenient way to bootstrap a new project.
11