已经有一段时间了后藤随着我们不断发展,对Seasar2的支持已于2016年9月26日终止。为了寻找迁移目的地,采取了以下措施。

迁移之前 迁移后
控制者 Struts2 Struts2
DI Seasar2 Google guice
S2Dao 多玛2

控制者

用作控制器的Struts2不需要从一开始就进行更改。
由于它使用Struts2而不是Seasar2系列,因此减少了诚实的负担。

DI

可以选择用完整的堆栈框架替换DI部分,但是即使使用Spring,学习成本也会很高,因此我们计划使其成为微服务。
与Seasar一样,全栈框架存在风险,即整个系统在升级时会处理更改。

令人惊讶的是,Dao部分是最大的部分,而替换的后果如此之大,以至于在Seasar2中它都不再是EOL。
使用遵循S2Dao样式(DAO模式和2 Way SQL)的Doma2。
因此,该SQL文件能够在某种程度上进行迁移,因此无需重新创建就可以很好地运行。

其他

由于S2Dxo在其他部分中用作模型映射器,因此此处也发生了替换。
当我尝试使用Apache Commons BeanUtils在Entity和Dto之间进行转换时,Doma2使用java.time.LocalDateTime,直到现在使用java.sql.Timestamp,如此之多的转换错误发生了。
这个转换部分必须由我自己的工作来处理。还支持空转换。

终于

作为seasar2的迁移目的地,迁移到Spring的流量似乎是世界上的主流,但是还有其他迁移方式,所以希望您能参考一下。