如果是这样的话,我会先编写几个测试来确保当前的行为/业务保持不变,同时您继续在混合中引入 Spring。
- 是否可以让网站的新部分在 Spring MVC 甚至 JRuby on Rails 中运行
一切皆有可能,但由于代码已经是 Java,而且正如您指出的“结构良好”,我会选择 Spring。
最容易开始的地方是弄清楚什么取决于什么才能启动“网站”。一旦你有了它,你就已经有了不同的组件(在纸上+在代码中),你可以使用 Spring“starter”应用程序上下文来起草,你可以使用 web.xml 加载:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:META-INF/spring/starter-application-context.xml /WEB-INF/spring/transportes-webflow.xml ... </param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
那是在你使用任何 Spring MVC 特性之前。一旦你有了它,看看你是否可以为这个项目定义一个域模型。然后,您可以开始将 Servlet 转换为 Spring MVC 控制器和模型(那些域)。
当您一次移动一步时,运行这些测试,以确保行为仍然可靠。这些可以是简单的 JUnit 测试,也可以是确保“网站”流程完好无损的 Selenium 测试。
我建议将您的构建架构切换到 Gradle,它确实需要一些学习曲线才能让您了解如何访问构建脚本中的所有内容(这是一件好事),但是真的有回报。
至于CVS,我更喜欢git,但是如果你对SVN感觉很强,你也可以切换到那个。在我看来,git 已成为版本控制系统的标准,就像 Spring 对 Java 开发一样。
了解使用regular SQL 的原因。如果这些是性能原因,您可以改用存储过程(可以在 Spring 中使用)。另请参阅使用 Hibernate 的原因,因为它可能会带来额外的复杂性,您可能不需要,并且最好使用简单的 Spring JdbcTemplate。