Skip to content

Hi Spring fans! In this installment we're going to look at the wide and wonderful world of Springdom.

License

Notifications You must be signed in to change notification settings

joshlong-attic/2025-03-12-bootiful-deep-dive

Repository files navigation

A Walking tour of Springdom in 2025

hi, Spring fans! The full video in which this code was introduced is here!

demo flow

  • desk check: IDEs, jvms, banner.txt, devtools, direnv, sdkman, etc.
  • data oriented programming
  • dependency injection
  • Spring Framework
  • BeanPostProcessors, BeanFactoryPostProcessors
  • event listeners
  • Boot
  • auto-configuration
  • containers
  • testing
  • AOT/GraalVM
  • Environment
  • Spring Cloud Config Server
  • Spring Batch batch (config client, postgresql, jdbc, batch)
    • config
    • move ~/Desktop/talk/dogs-simplified-*sql to src/main/resources/schema.sql
    • read config from ~/Desktop/talk/dogs.csv into dogs table
    • Job with incremented
    • Step with <Dog,Dog>chunk, reader, writer
    • FlatFileItemReader<Dog> with linesToSkip, resource, name, fieldSetMapper, delimited, names
    • JdbcBatchItemWriter<Dog> with dataSource, assertUpdates, itemPreparedStatementSetter, sql
  • JDBC and JdbcClient - implement a simple repository using records and JdbcClient
  • Flyway/Liquibase
  • Spring Data (JDBC)
  • Spring MVC
  • Spring Modulith
    • outbox pattern
    • testing
    • externalization (add spring-modulith-events-messaging)
  • Spring Integration
  • Spring AMQP
    • define Queue, Binding, and Binding
  • Observability
    • actuator
    • micrometer
    • SBOMs
    • git-commit-id
    • health check
  • Spring AI
    • ChatModel && ChatClient
    • user/system
    • chat memory
    • RAG
      • vector stores
      • EmbeddingModel
    • tools: schedule an appointment to adopt a dog
    • MCP
  • virtual threads
  • Spring GraphQL
  • Spring gRPC
  • Spring Shell
    • build a simple client that uses RestClient to invoke all the customers
    • do this before the security!
  • Spring Security & Auth Server
    • username/passwords
    • security filter chains
    • password management with PasswordEncoder
    • webauthn
    • OTT
    • with: formLogin, webauthn, and with(authorizationServer())
  • OAuth Resource Servers
  • Spring Authorization Server
  • OAuth Clients
  • Spring Cloud Config Client
  • Spring Cloud Gateway
    • TokenRelayFilterFunctions
  • Spring Boot

About

Hi Spring fans! In this installment we're going to look at the wide and wonderful world of Springdom.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages