hi, Spring fans! The full video in which this code was introduced is here!
- 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-*sqltosrc/main/resources/schema.sql - read config from
~/Desktop/talk/dogs.csvintodogstable JobwithincrementedStepwith<Dog,Dog>chunk,reader,writerFlatFileItemReader<Dog>withlinesToSkip,resource,name,fieldSetMapper,delimited,namesJdbcBatchItemWriter<Dog>withdataSource,assertUpdates,itemPreparedStatementSetter,sql
- JDBC and
JdbcClient- implement a simple repository using records andJdbcClient - 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, andBinding
- define
- 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
RestClientto invoke all thecustomers - do this before the security!
- build a simple client that uses
- Spring Security & Auth Server
- username/passwords
- security filter chains
- password management with
PasswordEncoder - webauthn
- OTT
- with:
formLogin,webauthn, andwith(authorizationServer())
- OAuth Resource Servers
- Spring Authorization Server
- OAuth Clients
- Spring Cloud Config Client
- Spring Cloud Gateway
TokenRelayFilterFunctions
- Spring Boot