文章标题关闭所有内容预览 | 展开所有内容预览
-
11.2 架构
[内容预览]
0 | 2019-01-25 14:22:27
由厦门小懒懒创建,最后一次修改2016-10-06JFinal顶层架构图如下:未完待续……JFinal官方网站:http://www.jfinal.comJFinal官方QQ群:322076903、432462639JFinal官方微信:
[阅读全文]
-
11.1 概述
[内容预览]
0 | 2019-01-25 14:22:26
由厦门小懒懒创建,最后一次修改2016-10-06JFinal采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成。本章将简单介绍此架构以及基于此架构所做的一些较为常用的扩展。
[阅读全文]
-
10.3 在 JFinal 中扩展
[内容预览]
0 | 2019-01-25 14:22:25
由厦门小懒懒创建,最后一次修改2016-10-06可以通过FreeMarkerRender.getConfiguration().setSharedVariable(“myKit”,newMyKit())为FreeMarker设置共享工具类,在view中使用${myKit.method(para)}。
[阅读全文]
-
10.2 FreeMarker 示例
[内容预览]
0 | 2019-01-25 14:22:23
由厦门小懒懒创建,最后一次修改2016-10-06以下代码为FreeMarker经常使用的指令与插值:<table><#listuserListasuser><tr><td>${user.name}</td><td>${user.age}</td><td>${user.email}</td></tr></#list><...
[阅读全文]
-
10.1 概述
[内容预览]
0 | 2019-01-25 14:22:22
由厦门小懒懒创建,最后一次修改2016-10-06JFinal默认使用FreeMarker作为View,为了使eclipsejee能正确识别html,所以默认使用”.html”作为FreeMarker视图文件的扩展名(原为”.ftl”)。如果需要使用JSP作为默认视图需要在configConstant(Constant...
[阅读全文]
-
9.3 I18nInterceptor
[内容预览]
0 | 2019-01-25 14:22:21
由厦门小懒懒创建,最后一次修改2016-10-06I18nInterceptor拦截器是针对于web应用提供的一个国际化组件,以下是在freemarker模板中使用的例子://先将I18nInterceptor配置成全局拦截器publicvoidconfigInterceptor(Interceptorsme){me....
[阅读全文]
-
9.2 I18n 与 Res
[内容预览]
0 | 2019-01-25 14:22:20
由厦门小懒懒创建,最后一次修改2016-10-06I18n对象可通过资源文件的baseName与locale参数获取到与之相对应的Res对象,Res对象提供了API用来获取国际化数据。以下给出具体使用步骤:l创建i18n_en_US.properties、i18n_zh_CN.properties资源文件,i18n即为...
[阅读全文]
-
9.1 概述
[内容预览]
0 | 2019-01-25 14:22:19
由厦门小懒懒创建,最后一次修改2016-10-06JFinal为国际化提供了极速化的支持,国际化模块仅三个类文件,使用方式要比spring这类框架容易得多。
[阅读全文]
-
8.3 Validator 配置
[内容预览]
0 | 2019-01-25 14:22:18
由厦门小懒懒创建,最后一次修改2016-10-06Validator配置方式与拦截器完全一样,见如下代码:publicclassUserControllerextendsController{@Before(LoginValidator.class)//配置方式与拦截器完全一样publicvoidlogin(){}}
[阅读全文]
-
8.2 Validator
[内容预览]
0 | 2019-01-25 14:22:17
由厦门小懒懒创建,最后一次修改2016-10-06Validator自身实现了Interceptor接口,所以它也是一个拦截器,配置方式与拦截器完全一样。以下是Validator示例:publicclassLoginValidatorextendsValidator{protectedvoidvalidate(Cont...
[阅读全文]
-
8.1 概述
[内容预览]
0 | 2019-01-25 14:22:15
由厦门小懒懒创建,最后一次修改2016-10-06Validator是JFinal校验组件,在Validator类中提供了非常方便的校验方法,学习简单,使用方便。
[阅读全文]
-
7.4 非 web 环境使用 RedisPlugin
[内容预览]
0 | 2019-01-25 14:22:14
由厦门小懒懒创建,最后一次修改2016-10-06RedisPlugin也可以在非web环境下使用,只需引入jfinal.jar然后多调用一下redisPlugin.start()即可,以下是代码示例:publicclassRedisTest{publicstaticvoidmain(String[]args){Red...
[阅读全文]
-
7.3 Redis 与 Cache
[内容预览]
0 | 2019-01-25 14:22:13
由厦门小懒懒创建,最后一次修改2016-10-06Redis与Cache联合起来可以非常方便地使用Redis服务,Redis对象通过use()方法来获取到Cache对象,Cache对象提供了丰富的API用于使用Redis服务,下面是具体使用示例:publicvoidredisDemo(){//获取名称为bbs的Redi...
[阅读全文]
-
7.2 RedisPlugin
[内容预览]
0 | 2019-01-25 14:22:12
由厦门小懒懒创建,最后一次修改2016-10-06RedisPlugin是作为JFinal的Plugin而存在的,所以使用时需要在JFinalConfig中配置RedisPlugin,以下是RedisPlugin配置示例代码:publicclassDemoConfigextendsJFinalConfig{public...
[阅读全文]
-
7.1 概述
[内容预览]
0 | 2019-01-25 14:22:11
由厦门小懒懒创建,最后一次修改2016-10-06RedisPlugin是支持Redis的极速化插件。使用RedisPlugin可以极度方便的使用redis,该插件不仅提供了丰富的API,而且还同时支持多redis服务端。Redis拥有超高的性能,丰富的数据结构,天然支持数据持久化,是目前应用非常广泛的nosql数据库...
[阅读全文]
-
6.6 ehcache.xml 简介
[内容预览]
0 | 2019-01-25 14:22:10
由厦门小懒懒创建,最后一次修改2016-10-06EhCache的使用需要有ehcache.xml配置文件支持,该配置文件中配置了很多cache节点,每个cache节点会配置一个name属性,例如:<cachename="blog"…>,该属性是CacheKit取值所必须的。其它配置项如eternal、overflow...
[阅读全文]
-
6.5 CacheKit
[内容预览]
0 | 2019-01-25 14:22:09
由厦门小懒懒创建,最后一次修改2016-10-06CacheKit是缓存操作工具类,以下是示例代码:publicvoidlist(){List<Blog>blogList=CacheKit.get("blog","blogList");if(blogList==null){blogList=Blog.dao.find(...
[阅读全文]
-
6.4 EvictInterceptor
[内容预览]
0 | 2019-01-25 14:22:07
由厦门小懒懒创建,最后一次修改2016-10-06EvictInterceptor可以根据CacheName注解自动清除缓存。以下是示例代码:@Before(EvictInterceptor.class)@CacheName("blogList")publicvoidupdate(){getModel(Blog.cla...
[阅读全文]
-
6.3 CacheInterceptor
[内容预览]
0 | 2019-01-25 14:22:06
由厦门小懒懒创建,最后一次修改2016-10-06CacheInterceptor可以将action所需数据全部缓存起来,下次请求到来时如果cache存在则直接使用数据并render,而不会去调用action。此用法可使action完全不受cache相关代码所污染,即插即用,以下是示例代码:@Before(CacheI...
[阅读全文]
-
6.2 EhCachePlugin
[内容预览]
0 | 2019-01-25 14:22:05
由厦门小懒懒创建,最后一次修改2016-10-06EhCachePlugin是作为JFinal的Plugin而存在的,所以使用时需要在JFinalConfig中配置EhCachePlugin,以下是Plugin配置示例代码:publicclassDemoConfigextendsJFinalConfig{publicv...
[阅读全文]
-
6.1 概述
[内容预览]
0 | 2019-01-25 14:22:04
由厦门小懒懒创建,最后一次修改2016-10-06EhCachePlugin是JFinal集成的缓存插件,通过使用EhCachePlugin可以提高系统的并发访问速度。
[阅读全文]
-
5.13 非 web 环境下使用 ActiveRecord
[内容预览]
0 | 2019-01-25 14:22:03
由厦门小懒懒创建,最后一次修改2016-10-06ActiveRecordPlugin可以独立于javaweb环境运行在任何普通的java程序中,使用方式极度简单,相对于web项目只需要手动调用一下其start()方法即可立即使用。以下是代码示例:publicclassActiveRecordTest{publicst...
[阅读全文]
-
5.12 多数据源支持
[内容预览]
0 | 2019-01-25 14:22:02
由厦门小懒懒创建,最后一次修改2016-10-06ActiveRecordPlugin可同时支持多数据源、多方言、多缓存、多事务级别等特性,对每个ActiveRecordPlugin可进行彼此独立的配置。简言之JFinal可以同时使用多数据源,并且可以针对这多个数据源配置独立的方言、缓存、事务级别等。当使用多数据源时,...
[阅读全文]
-
5.11 Oracle 支持
[内容预览]
0 | 2019-01-25 14:22:01
由厦门小懒懒创建,最后一次修改2016-10-06Oracle数据库具有一定的特殊性,JFinal针对这些特殊性进行了一些额外的支持以方便广大的Oracle使用者。以下是一个完整的Oracle配置示例:publicclassDemoConfigextendsJFinalConfig{publicvoidconfigPl...
[阅读全文]
-
5.10 复合主键
[内容预览]
0 | 2019-01-25 14:21:59
由厦门小懒懒创建,最后一次修改2016-10-06JFinalActiveRecord从2.0版本开始,采用极简设计支持复合主键,对于Model来说需要在映射时指定复合主键名称,以下是具体例子:ActiveRecordPluginarp=newActiveRecordPlugin(c3p0Plugin);//多数据源的...
[阅读全文]
-
5.9 表关联操作
[内容预览]
0 | 2019-01-25 14:21:58
由厦门小懒懒创建,最后一次修改2016-10-06JFinalActiveRecord天然支持表关联操作,并不需要学习新的东西,此为无招胜有招。表关联操作主要有两种方式:一是直接使用sql得到关联数据;二是在Model中添加获取关联数据的方法。假定现有两张数据库表:user、blog,并且user到blog是一对多关系...
[阅读全文]
-
5.8 Dialect 多数据库支持
[内容预览]
0 | 2019-01-25 14:21:57
由厦门小懒懒创建,最后一次修改2016-10-06目前ActiveRecordPlugin提供了MysqlDialect、OracleDialect、AnsiSqlDialect实现类。MysqlDialect与OracleDialect分别实现对Mysql与Oracle的支持,AnsiSqlDialect实现对遵守A...
[阅读全文]
-
5.7 Cache
[内容预览]
0 | 2019-01-25 14:21:56
由厦门小懒懒创建,最后一次修改2016-10-06ActiveRecord可以使用缓存以大大提高性能,以下代码是Cache使用示例:publicvoidlist(){List<Blog>blogList=Blog.dao.findByCache("cacheName","key","select*fromblog");...
[阅读全文]
-
5.6 声明式事务
[内容预览]
0 | 2019-01-25 14:21:55
由厦门小懒懒创建,最后一次修改2016-10-06ActiveRecord支持声名式事务,声明式事务需要使用ActiveRecordPlugin提供的拦截器来实现,拦截器的配置方法见Interceptor有关章节。以下代码是声明式事务示例://本例仅为示例,并未严格考虑账户状态等业务逻辑@Before(Tx.class...
[阅读全文]
-
5.5 JFinal 独创 Db + Record 模式
[内容预览]
0 | 2019-01-25 14:21:54
由厦门小懒懒创建,最后一次修改2016-10-06Db类及其配套的Record类,提供了在Model类之外更为丰富的数据库操作功能。使用Db与Record类时,无需对数据库表进行映射,Record相当于一个通用的Model。以下为Db+Record模式的一些常见用法://创建name属性为James,age属性为25的...
[阅读全文]