#jfinal-ext-scan
该项目提供一个自动扫描controller的routes和一个自动扫描model的插件.
##使用说明:
### AutoBindRoutes:自动绑定路由插件
使用方法:在配置类中绑定,并在要扫描的的controller中添加注解
public class MyConfig extends JFinalConfig {
...
@Override
public void configRoute(Routes routes) {
//扫描的包为com,baseViewPath为pages
routes.add(new AutoBindRoutes("com","pages"));
}
...
}@JAction("/a")
public class AController extends Controller {
}@JAction(value = "/b",viewPath = "bView")
public class BController extends Controller {
}//上述代码相当于做了以下操作:
routes.setBaseViewPath("pages");
routes.add("/a", AController.class);
routes.add("/b", BController.class,"bView");### ScanTablePluigin:自动扫描数据库表插件
**使用方法:在配置类中添加注解,并在要扫描的model上添加注解**
public class MyConfig extends JFinalConfig {
...
@Override
public void configPlugin(Plugins plugins) {
//连接池插件
DruidPlugin dp = new DruidPlugin(PropKit.get("mysql.url"), PropKit.get("mysql.userName"), PropKit.get("mysql.password"));
plugins.add(dp);
//db操作插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
arp.setShowSql(PropKit.getBoolean("mysql.showSql"));
//扫描映射关系 默认的dbName为default-db
//该插件需要在arp插件添加之前,否则扫描不到model
ScanTablePluigin scanTablePluigin = new ScanTablePluigin(arp, "com");
plugins.add(scanTablePluigin);
//最后添加arp插件
plugins.add(arp);
}
...
}//默认"id"为主键
@JTable(tableName = "indexnav")
public class IndexNav extends Model<IndexNav> {
}//以id1,id2两个字段为组合主键
@JTable(tableName = "user",id = "id1,id2")
public class User extends Model<User> {
}//上述代码相当于做了以下操作:
arp.addMapping("indexnav", IndexNav.class);
arp.addMapping("user","id1,id2", User.class);##安装说明:
1. 下载源码后导入为maven项目
2. 执行maven命令install,获取的jar包
3. 放入jfinal项目使用
项目:jfinal注解扫描