#1.What is Spring
"Spring" could mean ...
- The Spring Framework
- Spring Boot
- Spring Data
- Spring Cloud
- Spring Batch
- And more!
Web, Data, AOP, Core
Spring Data, Spring Batch, Spring LDAP, Spring Session, Spring Kafka, Spring Social, Spring Web Services, Spring Integration, More...
Built on Spring, Choice Making and Configuration
Spring Cloud is built upon Spring boot, Micro-service Arch.
Alternate to JEE Spring make it easy to create Java Enterprise Applications. Flexible, Modular and backwards compatible Large and active community
#2. Getting to know Spring with Spring Boot Spring Boot is used to create web and non-web application both
- Auto config
- Standalone (No need to deploy an application on web server). There is simple just run
- Package the application (java -jar my-app.jar)
- Run the application
- Opinionated
Start Project from Spring Initializer
- For more learning
- Create your first Spring Boot application by Dan Bunker
- Spring Boot: Efficient Development, Configuration and Deployment by Dustin Schultz
#3. Understanding Spring's Foundation: The Spring Framework
- Core
- Web
- AOP
- Data Access
- Integration
- Testing
Provides a number of different features
- i18n Internationalization support
- Validation Support
- Data binding support
- Type conversion support
- and more...
At the center of Spring Core is Dependency Injection Dependency Injection is all about dealing with the way objects fulfill their dependent objects. Two choices to fulfill
- Fulfill our own (Tightly Coupled).
- Declare Dependencies(More Flexible, Loosely Coupled) -->> Dependency Injections
Spring Core is dependency Injection container
- Create and maintains objects and their dependencies
- Less for developer to manage
Framework for handling web requests
- Can be handled via Spring Web MVC
- Can be handled via Spring web Flux