eBook – Guide Spring Cloud – NPI EA (cat=Spring Cloud)
announcement - icon

Let's get started with a Microservice Architecture with Spring Cloud:

>> Join Pro and download the eBook

eBook – Mockito – NPI EA (tag = Mockito)
announcement - icon

Mocking is an essential part of unit testing, and the Mockito library makes it easy to write clean and intuitive unit tests for your Java code.

Get started with mocking and improve your application tests using our Mockito guide:

Download the eBook

eBook – Java Concurrency – NPI EA (cat=Java Concurrency)
announcement - icon

Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.

Get started with understanding multi-threaded applications with our Java Concurrency guide:

>> Download the eBook

eBook – Reactive – NPI EA (cat=Reactive)
announcement - icon

Spring 5 added support for reactive programming with the Spring WebFlux module, which has been improved upon ever since. Get started with the Reactor project basics and reactive programming in Spring Boot:

>> Join Pro and download the eBook

eBook – Java Streams – NPI EA (cat=Java Streams)
announcement - icon

Since its introduction in Java 8, the Stream API has become a staple of Java development. The basic operations like iterating, filtering, mapping sequences of elements are deceptively simple to use.

But these can also be overused and fall into some common pitfalls.

To get a better understanding on how Streams work and how to combine them with other language features, check out our guide to Java Streams:

>> Join Pro and download the eBook

eBook – Jackson – NPI EA (cat=Jackson)
announcement - icon

Do JSON right with Jackson

Download the E-book

eBook – HTTP Client – NPI EA (cat=Http Client-Side)
announcement - icon

Get the most out of the Apache HTTP Client

Download the E-book

eBook – Maven – NPI EA (cat = Maven)
announcement - icon

Get Started with Apache Maven:

Download the E-book

eBook – Persistence – NPI EA (cat=Persistence)
announcement - icon

Working on getting your persistence layer right with Spring?

Explore the eBook

eBook – RwS – NPI EA (cat=Spring MVC)
announcement - icon

Building a REST API with Spring?

Download the E-book

Course – LS – NPI EA (cat=Jackson)
announcement - icon

Get started with Spring and Spring Boot, through the Learn Spring course:

>> LEARN SPRING
Course – RWSB – NPI EA (cat=REST)
announcement - icon

Explore Spring Boot 3 and Spring 6 in-depth through building a full REST API with the framework:

>> The New “REST With Spring Boot”

Course – LSS – NPI EA (cat=Spring Security)
announcement - icon

Yes, Spring Security can be complex, from the more advanced functionality within the Core to the deep OAuth support in the framework.

I built the security material as two full courses - Core and OAuth, to get practical with these more complex scenarios. We explore when and how to use each feature and code through it on the backing project.

You can explore the course here:

>> Learn Spring Security

Course – LSD – NPI EA (tag=Spring Data JPA)
announcement - icon

Spring Data JPA is a great way to handle the complexity of JPA with the powerful simplicity of Spring Boot.

Get started with Spring Data JPA through the guided reference course:

>> CHECK OUT THE COURSE

Partner – Moderne – NPI EA (cat=Spring Boot)
announcement - icon

Refactor Java code safely — and automatically — with OpenRewrite.

Refactoring big codebases by hand is slow, risky, and easy to put off. That’s where OpenRewrite comes in. The open-source framework for large-scale, automated code transformations helps teams modernize safely and consistently.

Each month, the creators and maintainers of OpenRewrite at Moderne run live, hands-on training sessions — one for newcomers and one for experienced users. You’ll see how recipes work, how to apply them across projects, and how to modernize code with confidence.

Join the next session, bring your questions, and learn how to automate the kind of work that usually eats your sprint time.

Course – LJB – NPI EA (cat = Core Java)
announcement - icon

Code your way through and build up a solid, practical foundation of Java:

>> Learn Java Basics

Partner – Diagrid – NPI EA (cat= Testing)
announcement - icon

Distributed systems often come with complex challenges such as service-to-service communication, state management, asynchronous messaging, security, and more.

Dapr (Distributed Application Runtime) provides a set of APIs and building blocks to address these challenges, abstracting away infrastructure so we can focus on business logic.

In this tutorial, we'll focus on Dapr's pub/sub API for message brokering. Using its Spring Boot integration, we'll simplify the creation of a loosely coupled, portable, and easily testable pub/sub messaging system:

>> Flexible Pub/Sub Messaging With Spring Boot and Dapr

We’ve been running the “State of Java” survey for many years now – to get a good read of the state of the Java ecosystem. Last year, 2250 Java developers decided to take the time to answer the questions, and so it’s fantastic to see this year that number is almost double – we got 4439 answers.

So, before we get into the numbers – I wanted to say “thanks” to everyone who participated.

Let’s jump right in and start with the Java adoption.

1. Java Adoption

The 2016 numbers had Java 7 adoption at 29.5% and Java 8 at 64.3%.

The numbers today – April 2017 (exactly one year later) – look quite different:

As you can see, Java 8 adoption has reached a solid 75% of the developer community.

This is quite encouraging to see and it also means that we’re very much ready for Java 9 to finally be here.

Let’s have a look at the Spring and Spring Boot numbers next.

2. Spring Adoption

The 2016 numbershad Spring 4 adoption at 81% and Spring 3 at 18%.

Let’s have a look at the 2017 numbers now:

Spring 4 has inched up from 81% to 85% and Spring 3 has gone down from 18% to about 12% over the course of a year.

What’s also quite interesting is that more than 2% of developers are using the Spring 5 milestones – which is a lot higher than the 1% using Java 9 milestones.

Finally, note that these numbers represent the developers that are using Spring. Overall, 25.5% of the developers answered they’re not using the framework.

3. Spring Boot Adoption

Boot is seeing some incredible adoption in the Spring ecosystem – that much is clear. Last year, the adoption numbers were at 53% – which is very high considering just how new the project really is.

Well, this year, growth is still going strong: ​

We can see that, summed up – the adoption number for Boot jumped from 53% to 70% – which is huge year over year growth. ​

4. IDE Market Share

Time to look at the market share of IDEs in 2017:

The trend was pretty clear last year as well – Eclipse is bleeding users to IntelliJ and NetBeans.

Last year, Eclipse was at a respectable 48% and it’s now sitting at a 40.5% – which is a severe, near double-digit drop in a single year.

5. JVM Languages

This year, we asked a new question in the survey – “Are you using other JVM based languages?”.

Here are the super interesting results:

Groovy is clearly leading the pack with a strong 40%, Scala’s following suit with over 28.5% and Kotlin is number 3 – with a surprising 11.5%.

Note this data is adapted to the “yes” answers – developers who are using other JVM languages. Overall, 57% of developers are only using Java.

6. Build Tools Market Share

On to build tools. Last year, we had Maven sitting at 72.5% and Gradle at 19%.

Well, this year’s numbers are quite close – surprisingly, Maven’s slowly getting even more traction and is now at 76% and Gradle is just slightly down to 18%.

The build tools market seems to be a lot more stable than the rest of the Java ecosystem, where things are changing a lot more and a lot quicker.

7. Running Your Own Blog?

We added this question in the survey out of pure curiosity. Here are the results:

Hopefully, more and more developers are going to start writing and putting their work out there.

8. Conclusion

The 2017 numbers are quite interesting and somewhat surprising in some respects.

Java 8 adoption has hit 75%, only a few months away from the GA of Java 9.

The Spring community has fully adopted Spring 4 – over 85% – and Spring Boot is up to 70% as well – which means that most Spring developers are actively using the new framework as well.

On the IDE side of things, IntelliJ is clawing market share from Eclipse with the same effectiveness as last year, and with no signs of slowing down any time soon.

The build landscape is much more quiet, with Maven continuing to be the dominant player and actually gaining ground, despite no major releases this last year.

And finally, JVM languages are getting a lot of traction as well – given that almost half of the developers who answered the survey are actively using a second language.

This is going to be an exiting year in the Java community.

Baeldung Pro – NPI EA (cat = Baeldung)
announcement - icon

Baeldung Pro comes with both absolutely No-Ads as well as finally with Dark Mode, for a clean learning experience:

>> Explore a clean Baeldung

Once the early-adopter seats are all used, the price will go up and stay at $33/year.

eBook – HTTP Client – NPI EA (cat=HTTP Client-Side)
announcement - icon

The Apache HTTP Client is a very robust library, suitable for both simple and advanced use cases when testing HTTP endpoints. Check out our guide covering basic request and response handling, as well as security, cookies, timeouts, and more:

>> Download the eBook

eBook – Java Concurrency – NPI EA (cat=Java Concurrency)
announcement - icon

Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.

Get started with understanding multi-threaded applications with our Java Concurrency guide:

>> Download the eBook

eBook – Java Streams – NPI EA (cat=Java Streams)
announcement - icon

Since its introduction in Java 8, the Stream API has become a staple of Java development. The basic operations like iterating, filtering, mapping sequences of elements are deceptively simple to use.

But these can also be overused and fall into some common pitfalls.

To get a better understanding on how Streams work and how to combine them with other language features, check out our guide to Java Streams:

>> Join Pro and download the eBook

eBook – Persistence – NPI EA (cat=Persistence)
announcement - icon

Working on getting your persistence layer right with Spring?

Explore the eBook

Course – LS – NPI EA (cat=REST)

announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:

>> CHECK OUT THE COURSE

Partner – Moderne – NPI EA (tag=Refactoring)
announcement - icon

Modern Java teams move fast — but codebases don’t always keep up. Frameworks change, dependencies drift, and tech debt builds until it starts to drag on delivery. OpenRewrite was built to fix that: an open-source refactoring engine that automates repetitive code changes while keeping developer intent intact.

The monthly training series, led by the creators and maintainers of OpenRewrite at Moderne, walks through real-world migrations and modernization patterns. Whether you’re new to recipes or ready to write your own, you’ll learn practical ways to refactor safely and at scale.

If you’ve ever wished refactoring felt as natural — and as fast — as writing code, this is a good place to start.

Course – LS – NPI (cat=Java)
announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:

>> CHECK OUT THE COURSE

Course – LS – NPI – (cat=Spring)
announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:

>> CHECK OUT THE COURSE

eBook Jackson – NPI EA – 3 (cat = Jackson)