# spring-jfinal
**Repository Path**: ylx252/spring-jfinal
## Basic Information
- **Project Name**: spring-jfinal
- **Description**: 用于整合 spring + jfinal .
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 74
- **Forks**: 24
- **Created**: 2015-03-09
- **Last Updated**: 2025-09-01
## Categories & Tags
**Categories**: webframework
**Tags**: None
## README
#spring-jfinal
作用于 spring 和 jfinal(理论上支持所有版本) 的整合。
#依赖 jar
jfinal、javassist v3.*、Spring v3+(3.2.0之前需要依赖cglib)
#使用 Maven
```xml
cc.ecore
spring-jfinal-plugin
x.x.x
```
## 1、web.xml
```xml
contextConfigLocation
WEB-INF/spring.xml
org.springframework.web.context.ContextLoaderListener
jfinal
com.jfinal.core.SpringJFinalFilter
configClass
com.demo.test.CommonConfig
jfinal
/*
```
以上通过 SpringJFinalFilter 过滤器加载 spring 。
其中 JfinalConfig 自动注册 springbean(JfinalConfig 中可以使用 注解注入属性哦,或者 实现 ApplicationContextAware 接口自动注入 ApplicationContext)。
初始化顺序(不配置 ContextLoaderListener 的情况下):
SpringJFinalFilter -> ApplicationContext -> JFinal -> JFinalConfig ... (其他 照旧 ) .
初始化顺序(配置 ContextLoaderListener 的情况下)。
ApplicationContext -> SpringJFinalFilter -> JFinal -> JFinalConfig ... (其他 照旧 ) .
## 2、JFinalConfig
``` java
public class HelloJFinalConfig extends JFinalConfig {
@Autowired
public void setApplicationContext(ApplicationContext ctx) {
System.out.println("HelloController attr[ApplicationContext] 已注入。。");
}
...
}
```
其中 HelloJFinalConfig 自动注入 springbean , scope = "singleton" .
## 3、Controller
``` java
public class HelloController extends Controller {
@Autowired
public void setApplicationContext(ApplicationContext ctx) {
System.out.println("HelloController attr[ApplicationContext] 已注入。。");
}
}
```
其中 Controller 自动注入 springbean , scope = "prototype" 原因是 jfinal 也是每次请求创建实例 .
## 4、spring 事物管理
```xml
```
以上是 xml 配置方式。 重点是在 ActiveRecordPlugin 中注入 代理数据源。
## 5、jetty 启动.
``` java
public static void main(String[] args) {
CtFactory.toClass();// 这个必须启动前执行
// ...
}
```
## 6、更多支持
- oschina [开源社区 ](http://www.oschina.net/p/spring-jfinal)
- JFinal [官方网站 ](http://www.jfinal.com/)
- 关注官方微信号马上体验 demo 功能
