最近在对项目进行技改,有些应用涉及到一些新的技术构架或组件,涉及到spring jar的冲突,因此需要将spring需要进行升级到更高版本(如5.2.7.RELEASE),原来模板引擎使用了velocity。一方面spring5已经不支持velocity, 另一方面换模板引擎代价有点大, 那么如何让spring5支持velocity了?

        其实方案很简单,直接将spring4中已经支持velocity的相关代码拷贝出来,具体如下:

 一、引入veclity的依赖

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>${version2}</version>
</dependency>

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>${version2}</version>
</dependency>

二、将spring4中velocity源代码引入到应用中

        涉及到的类如下:   仅需要将spring4中原有的这9个类引入到应用中(改下package就行),同时修velocimacro.library的路径,将  org/springframework/web/servlet/view/velocity/spring.vm 拷贝到VelocityConfigurer属性resourceLoaderPath的目录下,如在升级过程中,我将spring.vm转入classes目录resourceLoaderPath指定目录下的system中。

       其他操作都不需要了,这样就完美实现spring4支持的velocity在spring5中可以了。

 

         

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐