![]() ![]() I think you will be required to move to Java 7 or 8 and also Tomcat should be updated to version 7 or better 8. Take also a look to the dependency updates section.Īlso remember to correctly define the scope of the dependencies in your pom files, since many of them could be provided by the infrastructure you're using (i.e. ![]() Obviously in the moment you insert these new versions they're bringing with them some transitive dependencies that might generate conflicts. I would especially draw you attention to the 'Enforced minimum dependency versions' section that recommends you the minimum version level of some wide used libraries. Well, it is not easy to answer you question since there are many things to be taken into account.įirst of all I can suggest you to use the Migrating from earlier versions of the Spring Framework guide that's coming directly from the 'source'. Unit and integration testing have moved on to using annotations (and mock frameworks).Full CI using Jenkins (or other CI tools).Switch from Maven to Gradle for building projects.Spring projects typically use Spring Boot.JavaConfig (as opposed to xml configuration).Spring projects and Java development have evolved a lot since Spring 3.x. Perhaps an agile approach with biweekly demos of how much progress you've made will help keep everyone on the same page. It is extremely critical to set the right expectations in terms of timelines. There is a big risk of underestimating the effort needed for migration without comprehensive requirement. You'll be surprised at how many 'hidden' requirements exist even in simple systems. And have the product manager/supervisor sign off on it. Might be a good idea to create documentation too. If the documentation is incomplete/non-existent, then double and triple check to make sure that all 'requirements' are captured with your tests. If there is a complete documentation of the features/functionality, then your "success criteria" for migration is straightforward. Regression testing script is great start. Obviously, there won't be "standard" set of recommended practices because every migration/upgrade is different. What steps/procedures are considered 'best practice' in these for a job like this?ĭoes anything jump out at you as a 'gotcha' for a job like this? This just generally feels like a haphazard approach, which is not what I want for such a complex change. I've started reading through the 'upgrade guides' one at a time, "upgrading to 3.1", "upgrading to 3.2" and making notes on things that sound familiar, but I think I'd need to have a much deeper grasp of our system, and spring in general, before I could be confident of this as an exhaustive approach. Prepared a (mostly automated) regression testing script (so that I can ensure I haven't broken anything) Hundreds of views, scores of controllers. Half controllers using annotations for request response mapping, half using simpleFormController pattern, half autowired, half hooked up with xml. Maven dependency management and build automation. Spring 3.0.5 - the usuals (core, context, beans etc), MVC, AOP, ORM, JDBC, AcegiĠ unit tests or automated testing of any kind. What are the best practices for making a large, inevitably finicky and complex change like this? (Anything above and beyond 'throw in the jar files and see what happens' and 'read the documentation here: ' would be very helpful) I'm tasked with upgrading a large, mission critical enterprise application, from Spring 3.0.x to Spring 4.1.x. I've been using Spring for about a year, and I'm comfortable enough using it, but I've avoided jumping under the hood for the most part. ![]()
0 Comments
Leave a Reply. |