Spring framework
Spring Framework Documentation
Spring Framework Documentation: https://docs.spring.io/spring-framework/docs/current/reference/html/index.html
Overview - history, design philosophy, feedback, getting started : https://docs.spring.io/spring-framework/docs/current/reference/html/overview.html#overview
Core - IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
Data Access - Transactions, DAO Support, JDBC, R2DBC, O/R Mapping, XML Marshalling: https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#spring-data-tier
Web Servlet - Spring MVC, WebSocket, SockJS, STOMP Messaging: https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web
Web Reactive - Spring WebFlux, WebClient, WebSocket, RSocket: https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#spring-webflux
Integration - Remoting, JMS, JCA, JMX, Email, Tasks, Scheduling, Caching: https://docs.spring.io/spring-framework/docs/current/reference/html/integration.html#spring-integration
Languages - Kotlin, Groovy, Dynamic Languages: https://docs.spring.io/spring-framework/docs/current/reference/html/languages.html#languages
Appendix - Spring properties: https://docs.spring.io/spring-framework/docs/current/reference/html/appendix.html#appendix
Wiki - What’s New, Upgrade Notes, Supported Versions, and other cross-version information: https://github.com/spring-projects/spring-framework/wiki
Official website: https://spring.io/projects
What is Spring Framework?
Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world’s most popular Java framework.
Spring can be used for developing anything from simple web applications to enterprise-class cloud applications and microservices.
Spring provides comprehensive infrastructure support for developing applications with complex requirements and designs.
Spring framework handles the infrastructure part (using dependency injection), so the developers can focus on the application’s core functionality.
Spring framework contains formalized design patterns as first-class objects that developers can integrate into our application(s) without worrying too much about how they work in the backend.
What are the Advantages of Spring Framework?
- With Dependency Injection (DI) pattern, application dependencies are explicitely declared and maintained.
- IoC containers tend to be lightweight, especially when compared to EJB containers. This is beneficial for developing and deploying Spring applications on computers with limited memory and CPU resources.
- Spring does not reinvent the wheel, instead, it truly makes use of some of the existing technologies like several ORM frameworks, logging frameworks, JMS and, other view technologies.
- Spring is organized in a modular fashion and even though the number of packages and classes are substantial, we have to worry about only those dependencies we need and we can ignore the rest.
- Testing a Spring application is simple because the environment-dependent code is managed by the framework. Further, by using java beans style POJOs, it becomes easier to use dependency injection for injecting test data.
- Spring’s web framework is a well-designed web MVC framework, which provides a great alternative to web frameworks such as Struts or other over engineered or less popular web frameworks.
- Spring provides a consistent transaction management interface that can scale down to a local transaction (using a single database, for example) and scale up to global transactions (using JTA, for example).
Spring Common application properties
- https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
- https://docs.spring.io/spring-boot/docs/current/reference/html/index.html
- https://medium.com/@xoor/jwt-authentication-service-44658409e12c
- https://github.com/murraco/spring-boot-jwt
Tags
- Servlet and ServletContainer
- Spring Cloud and Cloud native development
- Spring annotations
- Spring auto configuration
- Spring batch
- Spring Beans
- Spring Boot actuator
- Spring Boot application without web component
- Spring Boot application without main method
- Spring Boot - Embedded servlet containers
- Spring Boot Devtools - Automatic Reload
- Spring Boot file IO
- Spring Boot good practices
- spring-boot-maven-plugin
- Spring Boot startup behavior
- Spring Boot starter parents
- Spring Boot Testing
- Spring Data
- Spring Data JPA
- Spring Data Elasticsearch
- Spring Data - Repository populators
- Spring Data R2DBC
- Spring Data JPA - working with multiple databases
- Spring Data JPA - testing
- Spring Data JPA - transactions
- Spring Data JPA - Generated Queries
- Spring Data JPA - Repositories
- Spring Data JPA - Reasons to use
- Spring Data JPA - setup and configuration
- Spring Data JPA - Batch entity inserts and updates
- Spring Data JPA - Single entity inserts and updates
- Spring Data JPA - Entities
- Spring Data JPA - Queries
- Spring Data JPA - Using Projections for Selective Data Retrieval
- Spring Data JPA - Pagination
- Spring Data JPA - Pagination and Sorting
- Spring Data JPA - Dynamic Queries with SpEL Expressions
- Spring Interceptors vs Servlet Filters
- Spring IOC Container
- Spring profiles
- Spring security
- Spring modules
- Spring - Application Events
- Spring - CommandLineRunner interface
- Spring - Concurrency Model
- Spring - design patterns used
- Spring - DispatcherServlet
- Spring - Events
- Spring - exception handling
- Spring - Externalized Configuration
- Spring - Running an app with Springboot vs standard Spring framework
- Spring web frameworks
- Frustrations with spring framework
- Alternatives to Spring and spring boot
- Proxies in Spring
- What are the pitfalls of using springboot for java applications?
- Request Logging
- How to start a springboot application in debug mode?
- Different ways of loading data into databases at spring application start-up?