I assume you mean to say JEE rather than J2EE? The last J2EE release was well over a decade ago.
My personal preference is Constructor injection because it allows me to write immutable classes which I believe greatly increases the ability for a person to reason with a program. A common argument against constructor injection is that it's easy to get the arguments in the wrong order and introduce errors, or worse runtime errors if you've misplaced arguments of the same type. This becomes more of a problem if the class has many dependencies, and thus many constructor arguments. I often improve this situation by including a builder with the class to aid with object construction.
You mention technical benefit for testing. I don't think there's any particular gained benefit here for using one injection
pattern over another, it's just a different way of interacting with the object.
I've had this discussion numerous times over the years and the best conclusion I've come to is that it's personal preference.