关于JFinal官方Demo的理解

来源:互联网 发布:数据签名异常 编辑:程序博客网 时间:2024/06/01 08:51

首先这是一个dynamic web project。其src文件夹下包含的package如下:

包内包含的类如下所示:


一、Controller层(包括com.demo.blog.BlogController和com.demo.index.IndexController)

         这里只介绍BlogController的部分内容,如下。

         其中,com.demo.blog包内包含的java类有BlogController(JFianl的控制器类),BlogValidator(BlogController的验证器)和BlogInterceptor(BlogController的拦截器)。

先介绍BlogController类,截部分图如下:



其中,index()方法通过调用service层的方法paginate()获取到了Page<Blog>对象,然后通过setAttr()方法将Page<Blog>以blogPage的属性名放置于HttpServletRequest中。再通过render("blog.html")来加载blog.html页面;

再介绍下该类中的add()方法。其方法为空。则默认在用户请求该方法对应的action时,add()内默认render("add.html")

 

二、Dao层+Service层(包括com.demo.common.model.Blog和com.demo.common.model.base.BaseBlog)

        下面我们看看com.demo.common.model包和com.demo.common.model.base包中个个类有啥作用。

1、_JFinalDemoGenerator(POJO自动生成工具类)

        

         这个类是用来自动生成pojo类的。

2_MappingKit(关联数据库表与pojo类工具类)


3、Blog为通过_JFinalDemoGenerator自动生成的Service类,继承_JFinalDemoGenerator自动生成的POJO类(BaseBlog<Blog>)。

 

三、JFinal的核心控制类(com.demo.common.DemoConfig)


这个类继承了JFinalConfig抽象类,重写了configConstant()(配置系统常量), configRoute()(配置页面跳转), configPlugin()(配置系统使用插件), configInterceptor()(配置拦截器), configHandler()(配置处理器)这五个方法。

通过这五个方法,将上述的Controller层,Service层和Dao层整合起来。这也是JFinal框架的巧妙和强大之处。


---如有错误之处,请多见谅

0 0