Skip to content

hi, Spring fans! in this workshop we're going to look at spring. yes, basically all of it.

License

Notifications You must be signed in to change notification settings

joshlong-attic/2024-11-20-qcon-sf-workshop

Repository files navigation

README

bit.ly/spring-tips-playlist youtube.com/@coffeesoftware

Basics

  • which IDE? IntelliJ, VSCode, and Eclipse
  • your choice of Java: GraalVM
  • start.spring.io, an API, website, and an IDE wizard
  • Devtools
  • Docker Compose
  • Testcontainers
  • banner.txt

Development Desk Check

  • the Spring JavaFormat Plugin
    • Python, gofmt, your favorite IDE, and
  • the power of environment variables
  • SDKMAN
    • .sdkman
  • direnv
    • .envrc
  • a good password manager for secrets

Data Oriented Programming in Java 21+

  • an example

Beans

  • dependency injection from first principles
  • bean configuration
  • XML
  • stereotype annotations
  • lifecycle
    • BeanPostProcessor
    • BeanFactoryPostProcessor
  • auto configuration
  • AOP
  • Spring's event publisher
  • configuration processor

AOT & GraalVM

  • installing GraalVM
  • GraalVM native images
  • basics
  • AOT lifecycles

Data

  • JdbcClient
  • SQL Initialization
  • Flyway
  • Spring Data JDBC

Batch Processing

  • Spring Batch
  • load some data from a CSV file to a SQL database

Scalability

  • non-blocking IO
  • virtual threads
  • José Paumard's demo
  • Cora Iberkleid's demo

Web Programming

  • clients: RestTemplate, RestClient, declarative interface clients
  • REST
    • controllers
    • functional style
  • GraphQL
    • batches

Architecting for Modularity

  • Privacy
  • Spring Modulith
  • Externalized messages
  • Testing

Artificial Intelligence

  • what's in a model?
  • Spring AI
  • ChatClient
  • prompts
  • advisors
  • Retrieval Augmented Generation (RAG)

Microservices

  • centralized configuration
  • API gateways
    • reactive or not reactive
  • event bus and refreshable configuration
  • service registration and discovery

Messaging and Integration

  • "What do you mean by Event Driven?"
  • Messaging Technologies like RabbitMQ or Apache Kafka
  • Spring Integration
  • files to events

Security

  • adding form login to an application
  • authentication
  • authorization
  • passkeys
  • one time tokens
  • OAuth
    • the Spring Authorizatinm Server
    • OAuth clients
    • OAuth resource servers
    • protecting messaging code

Q&A

  • I may not know, but I probably know who does know...

About

hi, Spring fans! in this workshop we're going to look at spring. yes, basically all of it.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published