欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

程序员文章站 2022-03-27 12:17:10
最近,JFinal3.5发布,喜大普奔,我也应JBolt用户的需求,将JBolt进行了升级,实现可配置自动注入开启,支持JFinal3.5的项目生成。具体可以看:JBolt升级日志 这等工作做完后,我着手将客户的正在使用JFinal3.4开发中的项目,快速升级到了JFinal3.5+最新版的JFin ......

最近,jfinal3.5发布,喜大普奔,我也应jbolt用户的需求,将jbolt进行了升级,实现可配置自动注入开启,支持jfinal3.5的项目生成。具体可以看:jbolt升级日志

这等工作做完后,我着手将客户的正在使用jfinal3.4开发中的项目,快速升级到了jfinal3.5+最新版的jfinal-jetty-server。

升级工作:

1、pom.xml文件里替换成最新版的jfinal3.5和jfinal-jetty-server的2018.11版本

2、在mainconfig.java中 配置常量configconstant里添加开启自动依赖注入

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

3、所有service里之前的public static final service me=new service();这类定义 全部删除

4、使用到service.me.method()这样调用的地方有很多 controller interceptor、其他service、工具类里都用需要替换调用方式改成注入方式。具体如下:

    0)userservice里以前是这样的

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

现在删掉这个定义。

 

    1)controller中以前是这样的

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

现在改成了这样就可以了:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

    2)拦截器里以前有这样用的

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

现在改成这样:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

    3) service里调用其他service的方式 以前是这样:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

现在改成这样:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

    4)除了这些使用的地方,还有一些工具类里

以前是这样:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

现在这里要特殊注意了,工具类不是由jfinal管理创建的对象,所以不能使用上面的注入方式。jfinal提供了另一个获取方式:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

 

这里大家可能会有个疑问,为什么service也不是jfinal接管创建的 service里调用其他service也能使用自动注入注解的方式?

答案在这里:

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

 

当我们在controller里注入userservice的时候,jfinal会进入到这个注入对象里,遍历他的field 找到也有@inject注解的属性,然后自动注入。默认注入深度是3级别。这里特殊注意。

如果你有任何jfinal相关的问题,可以关注jfinal学院公众号:jfinalxueyuan 提问。

新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

jfinal学院qq群:362557641 新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入