jfinalQ开发教程04-jfinal配置和jfinalQ文件结构
来源:互联网 发布:sqlserver count 编辑:程序博客网 时间:2024/04/29 12:20
jfinalQ
1.前言
有耐心看完前5讲的同学,可正真看到jfinalQ到底是什么了,
前4讲说了代码生成工具,即:jfinalQ-gencode,
第5讲说了加密部署工具,即,jfinalQ-encrypt,
如果对这两部分感兴趣,那么接下来的内容会更加有趣哦~
2.简介
jfinalQ,致力于极速开发,适配移动端,代码生成,加密部署的javaee框架。
极速开发
基于jfinal,学习是需要1周时间,上手快,功能强大,使用方便,开发快捷。
适配移动端
基于bootstrap,完美适配pc端和手机pad端的网页,简洁美观,使用简单。
代码生成
普通增删改查功能秒级生成,大大提高了开发效率。
加密部署
为有加密部署需求的企业提供一种省时省力低成本的解决方案。
3.下载
jfinalQ已经开源到github,地址:https://github.com/uikoo9/jfinalQ
jfinal配置
1.说明
在使用jfinalQ之前,需要线熟悉jfinal,可以去官网下载文档看看,估计1天即可上手
2.开发环境
jfinalQ的相关开发环境,建议进行开发的时候要保持一致:
java
1.6.0_45
tomcat
6.0.39
tomcat部署方式
基于xml部署,详见:http://uikoo9.com/blog/detail/tomcat-xml
mysql
5.6.17
myeclipse
10.6
3.web.xml
其实jfinalQ项目中已经配置好了,这里做下介绍:
从web.xml说起,代码如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name></display-name><filter><filter-name>jfinal</filter-name><filter-class>com.jfinal.core.JFinalFilter</filter-class><init-param><param-name>configClass</param-name><param-value>com.uikoo9.z.jfinal.QJfinalConfig</param-value></init-param></filter><filter-mapping><filter-name>jfinal</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
这里只需要将config指向com.uikoo9.z.jfinal.QJfinalConfig
4.QJfinalConfig.java
这是自定义的jfinal config文件,如下:
其中,
configConstant中只设置了dev mode,这个在配置文件中设置
configRoute中设置了所有controller用注解方式加载
jfinal默认关联controller的方式为:
public void configRoute(Routes me) { me.add("/hello", HelloController.class); }
使用jfinalQ后只需要在每个controller上进行注解即可:
@QControllerUrl("/blog")public class BlogController extends Controller{}
configPlugin中设置了所有model用注解方式关联
jfinal默认关联model和表的方式为:
arp.addMapping("user", User.class);
使用jfinalQ后只需要在每个Model上添加注解即可:
@QTable("t_blog_article")public class BlogArticleModel extends Model<BlogArticleModel>{}
configInterceptor中设置了一个全局interceptroe和一个自定义interceptor
afterJFinalStart中设置了三个:百度编辑器上传文件到七牛云的token更新,定时任务,微信线程
jfinalQ文件结构
要使用jfinalQ,首先需要了解jfinalQ的文件结构,这节应该说是最重要的一节了。
概览
可以看到这个项目是比较整洁的,这也算是一种文件结构规范吧。
src
1.fore
src下的fore包是用来处理用户端请求的,可管理端做区分,
由于model都放到了管理端,所以这里只有controller和service两个包结构。
2.manage
src下的manage包是用来处理管理端请求的,其实就是和数据库表一一对应,
可以看到manage下按功能做了区分,
例如bill功能下有两个对应的表t_bill_account,t_bill_detail,
每个表都有对应的controller和model类,
前4节讲的内容都是代码生成,而manage下的代码基本都是代码生成的,只需要稍作修改,
详见:
表命名规范:http://uikoo9.com/book/chapterDetail/32
代码生成:http://uikoo9.com/book/chapterDetail/32
权限系统:http://uikoo9.com/book/chapterDetail/34
一对多的处理:http://uikoo9.com/book/chapterDetail/34
3.z
z包下分为:jfinal包,my包,QContants.java
jfinal包:
QController,对crud做封装的基类
QInterceptor,全局的interceptor,基于这个做了权限系统
QJfinalConfig,上一节讲到的配置
QJfinalUtil,封装一些jfinal的功能,包括自动加载controller,自动管理model等
my包:
MyInterceptor,自定的全局拦截器
MyTask,一个定时任务
QContants:
常量类,所有的常量对应关系都在这里
配置文件
1.config.properties
所有的配置信息都放到这里,包括数据库连接信息,七牛云信息,定时任务信息,邮件短信信息等
2.contants.properties
常量对应文件
3.ehcache.xml
jfinalQ的缓存系统采用ehcache,一方面用来缓存数据库列表信息,一方面用来缓存常用变量
4.jfinal-auth.xml
公开访问的地址,详见第3讲
5.logback.xml
jfinalQ的日志系统采用logback,方便接入各种日志插件
WebRoot
1.WEB-INF/lib
存放jar包
2.WEB-INF/view/base
base下是一些基于freemarker做封装的模版,
base/common
公用的页面,包括error:错误页面,manage:管理页面
base/head
head模版,用户端的页面有不同的head时,使用不同的head模版页面
base/inc.html
所有基于freemarker的封装都在这里,封装了大量bootstrap的组件和常用的页面结构等
3.WEB-INF/view/fore,WEB-INF/view/manage
前者是用户端相关页面,后者是管理端相关页面,都以功能块做了区分,见下:
其中manage文件下的页面,大部分都是代码生成的,只有用户端fore下的页面需要自己写。
4.WUI
js相关文件,
建议js插件,css样式等,都采用cdn的,
也就是说一些现成的插件都可以用公开cdn上的,
而一些自己写的js可以放到七牛云上,
而不要在项目中存放,保持简洁,保证访问速度。
jfinalQ2.0
官网:http://uikoo9.com/jfinalQ
源码:https://github.com/uikoo9/jfinalQ
更多精彩内容:http://uikoo9.com/
求打赏(长按图片即可识别)~ 捐助列表:http://uikoo9.com/donate/
- jfinalQ开发教程04-jfinal配置和jfinalQ文件结构
- jfinalQ开发教程01-表命名规范和代码生成
- jfinalQ开发教程05-qiao-util.jar:常量和配置文件
- jfinalQ开发教程07-qiao-util.jar:邮件和短信
- jfinalQ开发教程03-加密部署
- jfinalQ开发教程02-权限系统和一对多的处理
- jfinalQ开发教程08-qiao-util.jar:多线程和定时任务
- jfinalQ开发教程10-qiao.js:js工具和bootstrap封装
- jfinalQ开发教程06-qiao-util.jar:日志和缓存
- jfinalQ开发教程09-qiao-util.jar:其他工具
- Jfinal配置菜鸟教程
- JavaWeb开发:Intellij IDEA+JFinal+Tomcat配置
- [jFinal]动态网络工程开发环境配置
- 安卓开发工程师必备的后台知识(Jfinal的配置和了解,VisualSVN server的配置,数据库的安装)
- [JFinal 2] JFinal 开发框架
- JFinal开发环境搭建,JFinal开发案例
- 基于JFinal的evens的SQL文件执行和生成
- JFinal Web开发学习(五)注册界面和后端验证
- jfinalQ开发教程02-权限系统和一对多的处理
- neutron(1)veth pair
- jfinalQ开发教程03-加密部署
- iOS开发之日期
- 二、Python课程【初级篇】
- jfinalQ开发教程04-jfinal配置和jfinalQ文件结构
- github在window7环境搭建
- WPF路线图白皮书: 2015及未来
- 19-陋室铭
- 默认拷贝构造函数,浅拷贝,深拷贝
- Redis RDB文件格式全解析
- hadoop 中context.collect 和 context.write的区别
- 准备开始自己的博客
- 【OpenGL】glut