Hi, Spring fans! How're you doing? Can you believe we're almost halfway through this crazy little thing called 2021? Time sure flies when you're having fun!
This week was no exception. I recently joined Matt Raible and Brian Demers for the OktaDev Twitch channel, and we hacked on making the Spring Boot starter for Okta work with Spring Native. The goal is that you should be able to bring your application unchanged with Spring Native, and this is yet another example of that working. We didn't know which issues we were going to face, but we managed to figure out the minor adjustments required to make it work within an hour. Within two hours, we had almost a working, standalone "hints" .jar
, the dependency that users can add to their spring-aot
plugins dependencies. Hopefully, they'll polish that off and publish the bits soon. The Okta Spring Boot starter is one option. The Spring Security OAuth client and resource-server support are already working out of the box, so check those out, too.
All of this, of course, was done on the just-released Spring Native 0.10-series.
I also built some Spring Native hints for the Jetbrains Exposed ORM framework for Kotlin. It's the same idea: build the code, then depend on the code from your project's spring-aot
plugin. Exposed is an excellent, uber-typesafe object mapper or object relationship mapper that is an excellent alternative to raw SQL with something like the JdbcTemplate
, or declarative repositories with something like iBatis, or Spring Data repositories. And now, along with so much else in the Kotlin community when built with Spring Boot, it works nicely with Spring Native. We hope you'll check it out! There are so many opportunities here, people, all we have to do is embrace them!
I also put together the Spring Native hints for the (experimental) Spring Retrosocket project.
I've put together or helped with quite a few Spring Native integrations, but if there's one you want to see done or would like help getting done, please reach out to me on Twitter (@starbuxman).
I love Spring Native, and I've even put together this dense 90-minute episode of Spring Tips introducing all things Spring Native, and I hope you'll check it out!
Anyway, friends, I suppose that's all neither here nor there. What is top of mind is that it's been more than a month since we last spoke, and friends, let me tell you, there are a ton of things to review, so let's get to it!
- A Bootiful Podcast: Azure Developer Advocate Rory Preddy on Spring, Java, Azure Spring Cloud and more
- Big news: we are looking for someone to join the Spring team to work on Spring Native, @GraalVM and @SpringFramework / @SpringBoot native support. Remote work possible.
- Blog: Writing a Controller for Pod Labels
- I love this new Spring HATEOS Siren release!
- In which I talk about Spring, the JVM and things: "being happy helps everything else work better." — Josh Long – DEV Community
- Say hello to Microsoft Build of #OpenJDK! New Long-Term Support distribution of @OpenJDK for your @Java workloads from Microsoft…
- Spring Boot loves Tanzu Observability with Madhura Bhave & Stéphane Nicoll | VMware Tanzu Developer Center
- Spring Data 2021.0.2 and 2020.0.10 released
- Spring Security 5.5.1, 5.4.7, 5.3.10 and 5.2.11 released
- Spring Tools 4.11.0 released
- The SpringHow blog has a nice post on using the startup Actuator endpoint in Spring Boot
- The JVM ecosystem report, by Snyk, is out with all the usual tidbits (Spring and Spring Boot continue to dominate the market, for one..). I even wrote a little piece on Reactive Spring for it-check it out!
- In this week's installment of Spring Tips, I look at Spring Native 0.10.0, available now.
- A Bootiful Podcast: Redgate technical lead for the Flyway team Mikiel Agutu on database migrations and continuous delivery
- An updated Spring Cloud GCP
- Register for VMworld 2021 Now
- And while you're at it, register for SpringOne, too!
- Spring Boot 2.3.12.RELEASE available now
- Spring Boot 2.4.7 available now
- Spring Boot 2.5.1 is now available
- Spring Framework 5.3.8 available now
- Do you need help making sense of Kubernetes? Here's your chance to ask Kubernetes co-creator Joe Beda anything during this live event
- I love this post by the good Dr. David Syer: "Wiremock" for RSocket
- In this week's installment of A Bootiful Podcast, JHipster creator and Microsoft Java Developer Advocacy manager Julien Dubois
- Kotlin 1.5.0 Release Community Event
- This is super interesting: OpenJDK on RISC-V – an update from Alibaba
- To all the readers of my little book so far: Thank you! Schiko on Twitter: "Reactive Spring" by @starbuxman is without a doubt the best programming book i've ever read. Thanks Josh! https://t.co/nAzdK4kNyn #springboot #Java" / Twitter
- Spring Integration AWS 2.5.1 and Spring Cloud Stream Kinesis Binder 2.2.0 Available
- The presentation that Brian Sam Bodden and I did for RedisConf – "An application framework worthy of Redis" – is now available on YouTube! Check it out!
- What's new with content at VMworld 2021?
- agschnitzer/multitenant: Multi-Tenant Spring Boot Application using Hibernate and H2
- Got 30 minutes? Learn how to propel Java applications into the future with @AzureCosmosDB, a fast NoSQL database with open APIs for any scale! Start learning
- In last week's episode of A Bootiful Podcast, I talked to Micrometer-lead Tommy Ludwig
- Announcing the general availability of the Azure Spring Cloud Terraform provider
- Cool to see an Azure Spring Cloud success story in the MSBuild keynote
- Get your reactive microservices to Kubernetes with Spring Boot and JHipster
- Michael Coté asks on Twitter: What's an API Gateway and why would you use it? Also, what does "business value" mean here? See the full interview with Rita Marinachi, Chris Sterling, and me to hear even more and also a how API gateways fit with service meshes.
- Providing useful API error messages with Spring Boot
- Spring Cloud 2020.0.3 (aka Ilford) Is Available
- Spring Cloud Gateway for Kubernetes lead Chris Sterling on Redmonk
- Spring Microservices Security Best Practices
- Spring PetClinic Data JDBC upgraded to Java 16. Records do make a difference
- Check out this terminal application for the Spring Initializr: Spring Starter Terminal
- This is a reasonable JUnit test runner that hides the green test result logs so as to bring the errors to sharp relief
- I found this old comic book about the amazing adventures of Java mascot Duke, and it is well worth a read: jcp-ec/AmazingAdventuresOfDuke.pdf at master · jcp-org/jcp-ec · GitHub
- this is an interesting blog on sending HTTP requests with
WebClient
- Last week I spoke to developer advocate extraordinairre James Ward. He's my mentor and friend and a hero in the Java community. Listen. You won't be sorry. Here it is: A Bootiful Podcast, with James Ward
- This was cool to see: A Spring Boot tutorial
- A recipe to fix CSRF issues in Spring applications
- Check out this upcoming event: DVT TechTalk- Build a Spring Boot based microservice to Azure Spring Cloud Tickets, Tue, Jun 1, 2021 at 11:00 AM | Eventbrite
- Wanna see me live? Don't miss this performance of Cloud Native Java! It's there. Just note the countdown timer and join me for that viewing.
- Not related to Spring, per se, but this is very interesting: Enabling Java: Windows on Arm64 – a Success Story!
- Improve your Spring Boot error handling
- Kai Tödter just released version 0.17.0 of JSON:API for Spring HATEOAS
- Baeldung has a nice, quick guide to Spring bean scopes
- the Okta Developer blog has a nice post, R2DBC and Spring for Non-Blocking Database Access : check it out!
- Spring Batch 4.2.7 and 4.3.3 are out!
- Spring Boot 2.4.6 available now
- Spring Boot 2.5 is now GA
- Spring Integration 5.5 goes GA
- Spring Integration for AWS 2.5 goes GA
- Spring and Isomorphic React 4: Render Data on the Server Side | Developing Software Together
- Don't miss these Java sessions at Microsoft Build Conference. Expect exciting announcements! Register now – all free, all virtual.
- Both Java 11 and Java 16 builds of OpenJDK for x64 are GA. Java 16 builds for AArch64 (ARM64) are Early Access. Java 11 is a Long-Term Supported version until at least 2024.