博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jfinal集成Spring
阅读量:4698 次
发布时间:2019-06-09

本文共 3198 字,大约阅读时间需要 10 分钟。

JFinal框架也整合了框架,下面实现JFinal怎么去配置Spring框架。在JFinal中整合Spring使用到的类是SpringPlugin和IocInterceptor类

SpringIplugin类:

SpringPlugin 是作为 JFinal 的 Plugin 而存在的,所以使用时需要在 JFinalConfig 中配置SpringPlugin,以下是 Plugin 配置示例代码:

1 /**2      * 配置插件3      */4     @Override5     public void configPlugin(Plugins me) {6         //ConfigDBPluginHelper.configOraclePlugin(me);7         //配置Spring挂件, 自动找spring包中所有的xml配置文件8         me.add(new SpringPlugin("classpath*:spring/*.xml"));9     }
配置SpringPlugin

以上设置默认spring配置xml在src/spring包下

如果设置sringPlugin的时候,没有设置路径

1 /**2      * 配置插件3      */4     @Override5     public void configPlugin(Plugins me) {6         //ConfigDBPluginHelper.configOraclePlugin(me);7         //配置Spring挂件, 自动找spring包中所有的xml配置文件8         me.add(new SpringPlugin());9     }
无参数设置

SpringPlugin 将 自动去WebRoot/WEB-INF 目录下寻找 applicationContext.xml 作为配置文件进行初始化。

IocInterceptor类:

IocInterceptor 拦截 action 并对其进行依赖注入,以下是示例代码:

1 package com.demo.testSpring; 2  3 import com.jfinal.aop.Before; 4 import com.jfinal.core.Controller; 5 import com.jfinal.plugin.spring.IocInterceptor; 6 import com.jfinal.plugin.spring.Inject; 7  8 @Before(IocInterceptor.class) 9 public class testSpringController extends Controller{10     11     @Inject.BY_NAME12     private Animal animal;13     14     public void test(){15         animal.move();16         animal.jump();17         renderNull();18     }19 }
IocInterceptor
1 package com.demo.testSpring; 2  3 public class Animal { 4     private String animalName; 5      6     public void setAnimalName(String animalName) { 7         this.animalName = animalName; 8     } 9 10     public void move(){11         System.out.println(animalName+" move");12     }13     14     public void jump(){15         System.out.println(animalName+" jump");16     }17 }
依赖Animal类
1 
2
10 11
12
13
dog
14
15
16 17
配置文件

需要的jar包

注:IocInterceptor可以设置为全局拦截器;

1 /**2      * 配置全局拦截器3      */4     public void configInterceptor(Interceptors me) {5         me.add(new IocInterceptor());6     }
设置为全局拦截器

如果在非Controller中的类中使用spring注入,不需要那么多注解,只需要在xml中配置即可。如下:

1 package com.demo.testSpring; 2  3 public class Cat { 4  5     private Animal animal; 6      7     public void setAnimal(Animal animal) { 8         this.animal = animal; 9     }10 11     public void test(){12         animal.move();13         animal.jump();14     }15 }
Cat类
1 package com.demo.testSpring; 2  3 import com.jfinal.core.Controller; 4 import com.jfinal.plugin.spring.Inject; 5  6 public class testSpringController extends Controller{ 7      8     @Inject.BY_NAME 9     private Cat cat;10     11     public void test(){12 13         cat.test();14         renderNull();15     }16 }
Controller
1 
2
10 11
12
13
dog
14
15
16 17
18
19
20
21
22 23
配置项

 jfinal不提供自动注入功能,如autowared

转载于:https://www.cnblogs.com/sunflowerGIS/p/6803433.html

你可能感兴趣的文章
第三方测速工具
查看>>
MySQL 网络访问连接
查看>>
在aws ec2上使用root用户登录
查看>>
数据访问 投票习题
查看>>
cnblog!i'm coming!
查看>>
使用点符号代替溢出的文本
查看>>
Axios 中文说明
查看>>
fatal: remote origin already exists.
查看>>
gridview 自定义value值
查看>>
2018二月实现计划成果及其三月规划
查看>>
类名.class和getClass()区别
查看>>
12/17面试题
查看>>
LeetCode 242. Valid Anagram
查看>>
JSP表单提交乱码
查看>>
如何适应现代雇佣关系
查看>>
团队项目(第五周)
查看>>
SQL 优化经验总结34条
查看>>
开源 视频会议 收藏
查看>>
核心J2EE模式 - 截取过滤器
查看>>
.net开源CMS
查看>>