How to upgrade AbstractConditionalVisibilityAttrProcessor from thymeleaf 2 to thymeleaf 3? - java

I'm within the process of upgrading software from Spring Boot 1.5 to 2.2.7. This now ships with thymeleaf 3 as opposed to thymeleaf 2 before, so I have to migrate some classes.
However I cannot find any upgrade guide to the now deprecated org.thymeleaf.processor.attr.AbstractConditionalVisibilityAttrProcessor which cannot be resolved anymore.
I can find it in the javadocs for version 2, but in version 3 the whole package just vanished. Was it moved?
Do you have any hint on how to upgrade a class that extends from it? Even any keywords on how to search could help because I'm not very familiar with thymeleaf as it is only used in the legacy part of the software.

Related

Easiest way to determine versions of spring dependencies to replace with when updating spring boot to 3?

I am updating from Spring boot 2 (actually 2.6.6) to Spring Boot 3, and there are a lot of hardcoded version numbers in my pom.xml that will need to be updated, but of course I don't know what to replace the hardcoded versions to (for example spring-security, jdbc, etc)
if I generate a spring boot 3.0 project from start.spring.io, is there an easy way to do this by looking at the resulting jars to determine what versions go with the change in the version number of spring-boot-starter-parent?
Use the versions-maven-plugin to figure out what new versions are available (use display-dependency-updates).
I would recommend updating them all to the latest release versions.

what is the possibility of migrating Hibernate from version 3.1 to 5.1

My Hibernate is woefully out of date so Ineed to explore what is involved in migrating version 3.1 to version 5.1 which is one version that doesn't require Java 8 I guess.
I read through the full set of migration guides: https://github.com/hibernate/hibernate-orm/wiki/Migration-Guides this one explains the migration from x.y to x.z.But I was unable to configure my doubts.
My concerns are:
Does it still support hbm files in 5.1 or do we need to use annotations only?
what are the possible conflicts?
Any Data type issues in general?

EmbeddedServletContainerAutoConfiguration and ServerPropertiesAutoConfiguration in Spring Boot 2.0

when updating our project from Spring Boot 1.5 to 2.0 the classes EmbeddedServletContainerAutoConfiguration and
ServerPropertiesAutoConfiguration were gone, although we need them desperately. When I search the internet doe those classes, I can't find any replacements for this classes. So my question is: Have those classes been removed with Spring Boot 2.0? If not, where have they been moved to? Or how I can replace them?
Thanks in advance.
EmbeddedServletContainerAutoConfiguration has been renamed to ServletWebServerFactoryAutoConfiguration by this commit during work on restructuring embedded web server packages.
ServerPropertiesAutoConfiguration has been removed by this commit during work on the following issue. Those properties objects are now created using
#EnableConfigurationProperties only.
Note: It might take some time for GitHub to show you particular line number.

Should I learn Spring 2 or 3?

Spring Framework 3 seems to be right around the corner, but the GA version is 2.5.6.
If this is the first time I'm approaching the subject, should I start with the stable version, or should I start with the new version and save myself migration issues?
How different is version 3 from version 2? How near is Spring 3?
I would start with Spring 3 for various reasons:
full Java 5 support (this is main reason for adopting Spring 3 for me)
Spring MVC support is deeply change between spring 2 and 3 (notably REST support). Learning spring 2 MVC is not a far-seeing imho.
new module organization (if you start with Spring 3, you don't need to migrate packages in the future)
OSGI compabitiliy
Ivy support
You don't need to worry about bugs or incomplete documentation since you are still learning the framework concepts. In conclusion, learning Spring 3 instead Spring 2 is a far-seeing choice.
However a very good introduction to Spring 2.x is given by Spring in Action, an excellent book about the subject.
I would start with the stable version. Less bugs, more documentation, more stable and easier to find answers to issues.. Spring 3 won't be vastly different. There is a Spring 3 reference manual but it's incomplete for the changes. Also, since Spring 3 is only on a milestone release (M3), it's still subject to change.
You can read What's New in Spring 3.0 but I imagine a lot of it won't mean anything to you yet.
It's important to know required java language version:
Spring 3 needs java 1.5
Spring 2.5 needs java 1.4
Spring 2.0 and older works on java 1.3 (if you still work on legacy servers, I recently used Spring 2.0 on WAS 5.0)
Start with Spring 2 for the simple reason that if you are doing a project right now, it will be in Spring 2 and not Spring 3. I've been exploring Spring 3 for a while but working in Spring 2 and have to say that they have added a lot of nice new features in Spring 3.
This actually makes working in Spring 2 annoying because I look for the things and they aren't there. It's a little annoying - spare yourself this, I don't think you'll have any trouble learning Spring 3.
If you're learning it to start a new project that's going to be starting when Spring 3 is out learn Spring 3. If you're going to be working on an existing project that's already on Spring 2, learn that. The changes are significant enough that projects currently using 2.x are not going to jump immediately.
I wouldn't worry too much about the version; probably starting with the actual release (i.e. 2) is better than starting with one that's still in milestone releases. However, Spring 2.5, and particularly Spring MVC, can use two approaches; configuring primarily using XML, or configuring primarily using annotations. Spring is definitely moving in the direction of annotations, so if you get used to using them you should be OK.
It is possible use xml configuration and annotations in the same project.
I've made some project in 2.5 but now would like move to Spring 3.
I understand that is not easy (it is not enough only change library - need re-write code).

Does Spring Webflow 2.x still support gradual conversion from Struts 1.x?

I've been trying for a long time to move this large project I'm working on away from the now quite dated struts 1.x framework and on to something newer.
The main blocker has been that we aren't given enough time for a complete re-write.
I came across this article:
http://www.devx.com/webdev/Article/28041/0/page/3
Which seems to suggest that web-flow would be a good/easy way to start getting out of struts actions.
Unfortunately when I downloaded the current 2.0.8 release of web-flow I found that all of the struts classes are no longer included.
Is there a separate project for the struts integration? Or has it just been flat out dropped?
All my searches seem to turn up information about older versions.
No answers here, or on the spring forum, most likely due to lack of interest in struts 1.x (can't blame people for that).
For what it's worth, the classes aren't in the 2.x web-flow jar's nor in any other module I've been able to find for the 2.x spring framework, so basically the answer is no, out of the box, you've got to completely drop struts 1.x
We haven't investigated porting the integration classes to webflow 2.x ourselves yet, but it's an option we're considering
Just came across this. According to Keith Donald in this post it does NOT support integration with Struts 1.0 out of the box since version 2x.

Categories