How I can know whats new in specific version of spring - spring

I want to know which changes spring has in his 1.5.9 version, and in 2.0 version,
how I can find a list or something else?

You're confusing:
the Spring framework, in release 5.0.2 as of today, which is an application framework and inversion of control container for the Java platform
Spring Boot, a convention-over-configuration solution for creating stand-alone, production-grade Spring-based Applications that you can "just run", currently in release 1.5.9, with an impending 2.0.0rc1 release.
You can find the release notes here for release 1.5.9, and here for release 2.0.0.

Related

Can a project go to production with non-release versions of dependencies?

I would like to know the difference between RELEASE, SNAPH, and just version number
So, I am working on a project, in which I have to change spring-core dependency version from 5.2.9.RELEASE to 5.3.11
In my maven repository, under org->springframwork->spring-core, I see below
5.2.8.RELEASE
5.2.9.RELEASE
5.3.4
5.3.6
5.3.8
5.3.9
5.3.10
5.3.11
My project builds successfully only with the 5.3.11 version of spring-core. It is ok to release my project to production with non-release version of spring-core?
The Spring Team changed the version scheme of some projects back in April 2020. As documented in this blog from the Spring Team.
So in short the 5.3.x line doesn't have the RELEASE suffix anymore for the final versions, as it was removed.
When upgrading a framework make sure you upgrade all parts of the framework. Not only upgrade spring-core but also all other related Spring Framework modules to the same version, if not this will eventually come back to hunt you with weird issues (memory, performance, transactions, missing methods etc. etc.).

Is Vaadin 7 compatible with Spring Boot 2.x?

I have an old Vaadin 7 application, and I'm trying to upgrade the Spring Boot version from 1.5.22.RELEASE to 2.0.9.RELEASE. I keep running into errors. Should this even work? I can't find any documentation about the version compatibility.
Edit:
The errors are along the lines of java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver due to the various API changes between the Spring versions.
The official Vaadin Spring Boot add-on 1.2.x branch that is meant to be used with Vaadin 7 only seems to support Spring Boot 1.5. The 3.x branch of the add-on for current Vaadin 8 versions apparently works with both, but those changes haven't been backported to the older branch and the newer branch doesn't work with Vaadin 7. Applying the Spring Boot Migration Guide to my project itself doesn't do the trick thanks to the add-on incompatibility.
Unfortunately not, Vaadin 7 is only compatible up to Spring Boot 1.5. If you want to use Spring Boot 2.x, you have three options:
Upgrade your project to use Vaadin 8 (compatible with both Spring Boot 1.5 and 2.x), see migration guide for details. In most cases this is fairly straightforward with the help of the compatibility classes. It's probably a good idea to do the Vaadin version upgrade first, and only upgrade Spring Boot version after the application is already running on Vaadin 8 (that way it's easier to figure out which upgrade to blame if there are any problems). However, it should be noted that the free support of Vaadin 8 will end in February 2022 already, although the commercial extended support will be available for 10 more years after that.
Create a new Vaadin 14 project (only compatible with Spring Boot 2.x, the starter app generated by start.vaadin.com is Spring Boot based by default), purchase a Vaadin subscription that includes Multiplatform Runtime which allows you to use Vaadin 7 classes from within Vaadin 14, and insert your old views into the new project with the help of the MPR wrappers. Remember to leave out your old Vaadin 7 Spring add-on, and to use the new one that is wired through Flow Servlet instead. This option requires a bit more initial effort (and the subscription), but gives you a leg up to continue converting your project to a pure Vaadin 14 version later on.
Upgrade your project fully to Vaadin 14 (or higher, but that's the newest LTS version at the moment). The migration guide is from Vaadin 8 up, so you might need to consult the Vaadin 7 to Vaadin 8 migration guide as well for some features. This is a significantly bigger jump than from Vaadin 7 to Vaadin 8 since the whole client-side handling was rewritten after Vaadin 8, but gives you right away access to the newer bells and whistles, you'll have several more years of free support available, and upgrading from Vaadin 14 to the next LTS version in turn should be a smaller step again.

Spring expression 4.0 jars

What are the jar files I need to use spring expression language in my web app?
This web app itself is not based on Spring. I would like to use the 4.0.1 version. Is spring-expression-4.0.1.RELEASE.jar alone enough?
I assume you need the expression and the core jar. Try with expression only and add core if something still is missing.
And you should consider using 4.1 or even 4.2, 4.1 is available and has no higher requirements than 4.0. 4.2 is scheduled to be released in only a few weeks, so you could start with the already available RC2 and go to final very soon.

Spring 4.0.0 backward compatibility

I've searched and couldn't find anything to suggest that Spring 4.0.0 is not fully backward compatible with Spring 3.x.
Is that indeed the case?
You should be safe if you have updated your third-party dependencies and updated any Spring deprecations in your project. Spring Framework project lead Juergen Hoeller writes in the blog Migrating from Spring Framework 3.2 to 4.0.1:
To a large degree, an upgrade from Spring Framework 3.2 (or earlier) to 4.0.1 should be as straightforward as a change of version numbers in your Maven POMs. Note that you may have to upgrade specific third-party dependencies to a recent enough version (e.g. Hibernate 3.6+, Quartz 1.8+, Jackson 1.8+, Tiles 2.2+)
Read the migration guide on GitHub for details.
I've prepared report on API changes for the Spring releases here: http://abi-laboratory.pro/java/tracker/timeline/spring-framework/
The report includes backward binary- (BC) and source-compatibility (SC) analysis results. The BC between 3.2.16 and 4.0.0 is estimated at 90.08% and SC is estimated at 88.70%.
The report is generated by the japi-compliance-checker tool.
...
There are few API they have removed in the new version. You would not have any surprise changes with the new version, there could be slight changes in the API. But, you have to watch the deprecated APIs which will be the candidate for removal in the forthcoming versions.
Look at this document , they have included few backward compatibility changes and removal of the APIs.
The backward compatibility for object-mapper option of the and components has beed removed.
But there is not much changes mentioned in the document.
It should be backward compatible. I recently watched http://oredev.org/2013/wed-fri-conference/spring-4-on-java-8 and recall Juergen Hoeller saying that they designed Spring 4.0 to be easy to upgrade to from 3.2 its around the 47 minute mark in the video.
I take that to mean that there should be no compatibility issues.
Typically any breaking changes or incompatibility would be noted in the documentation. As you can see there is some deprecated code but it looks to be backwards compatible.

JDeveloper 11g and Spring

I new to Jdeveloper. I want to build a sample Spring web app.
In making a new application, I chose "Java EE Web Application" and JDev made the application and two projects. I did not see how to add Spring.
Should Spring show up as one of the "Project Technologies" from which to choose?
Which version of JDeveloper are you using? Earlier versions require you to download the Spring Extension.
Basic instructions here:
http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/spring/spring-extension.html
http://www.oracle.com/technology/products/jdev/howtos/1013/SpringwithJDev/index.html

Resources