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-*sql
tosrc/main/resources/schema.sql
- read config from
~/Desktop/talk/dogs.csv
intodogs
table Job
withincremented
Step
with<Dog,Dog>chunk
,reader
,writer
FlatFileItemReader<Dog>
withlinesToSkip
,resource
,name
,fieldSetMapper
,delimited
,names
JdbcBatchItemWriter<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
RestClient
to 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