There doesn't seem to be much love for the MVSP Java toolkit here. I've put together a demo (with all source code) using MVSP Java with Angular and Tomcat - D3 Demo
The Java API is fast and easy to use IMO, and allows using D3 as though it was "just a database", just as you'd use (for example) Postgresql with JDBC, except with D3
you have an embedded programming environment which is much easier (and flexible) than writing SQL procedures or embedding Java/Javascript functions in an SQL DBMS.
It would be straightforward to create a SPA which makes REST calls to a web server using the same technique as the demo.
MVSP Java also makes it very easy to create desktop Java Swing apps with D3.
I know there's usually a lot of hate for Swing, but it's an extremely well designed UI toolkit. Oracle has committed to keep Swing an integral part of Java, so it'll be around forever, which clearly can't be said for any Javascript frameworks (Angular/React/Vue). Swing can be themed very easily e.g. FlatLaf
------------------------------
Bryan Buchanan
Manager
WebbTide Systems Pty Ltd
Morayfield QLD AU
------------------------------