springboot 如何集成JFinal

jelly_oy 发布于 2017/11/10 17:57
阅读 3K+
收藏 1

@JFinal 你好,想跟你请教个问题:

springboot如何集成JFinal,麻烦波总给点指导啊

我写了一个自定义的JFinalInitServlet

public class JFinalInitServlet extends HttpServlet{

      public void init(ServletConfig config){

            .....

            DruidPlugin druidPlugin = new DruidPlugin(url,username,password);
            druidPlugin.setFilters("stat,wall");
            druidPlugin.start();
        
            ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
            arp.start();

      }

}

然后写了一个JFinalConfig类

@Configuration
public class JFinalConfig {
    @Value("${spring.datasource.url}")
    private String url;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;
    
    @Bean
    public ServletRegistrationBean jfinalInitServlet() {
        ServletRegistrationBean reg = new ServletRegistrationBean();
        reg.setServlet(new JFinalInitServlet());
        reg.addInitParameter("url", url);
        reg.addInitParameter("username", username);
        reg.addInitParameter("password", password);
        return reg;
    }
}

现在遇到的问题是:

JFinalInitServlet init初始化方法并没有执行,导致JFinal集成失败,

麻烦波总帮忙指导下,谢谢了

加载中
1
JFinal
JFinal

在 web.xml 中添加 JFinalFilter ,只需要注意 JFinalFilter 与 spring 的 filter 的先后次序就好

 

如果 JFinalFilter 配置在 spring 的 filter 之前,需要做一个 UrlSkipHandler 来放行 spring 该处理的url,具体可以通过一下 jfinal 自带的 UrlSkipHandler

 

集合以后, spring 与 jfinal 可以互不干扰,而 spring 中也可以使用 jfinal 的 ActiveRecordPlugin 模块、模板引擎模块

0
hibegin
hibegin
不明白处于什么原因会在一个项目里面搞2个web应用层的框架,这就好比 spring mvc 里面还要搞个 struct2 一样的道理,如果是用 JFinal 的 Db 层/或者模板的话,当我没说
0
jelly_oy
jelly_oy

引用来自“wzfz”的评论

不明白处于什么原因会在一个项目里面搞2个web应用层的框架,这就好比 spring mvc 里面还要搞个 struct2 一样的道理,如果是用 JFinal 的 Db 层/或者模板的话,当我没说

@wzfz 确实是想在springboot中使用 JFinal的Db层,能够很方便的执行一些统计查询的操作,

抱着虚心求教的态度,想请教下,如果不用 JFinal的Db层,有哪些更便利的方式呢? spring jdbc或者 mybatis是吗?

hibegin
hibegin
你可以用下 Spring-Data-JPA,按一定的规则去3方法名字就可以了,比如 findByUsernameAndPassword,这个对分页支持很好,其它还有 dbutils,听说 osc 就是用的这个
0
jelly_oy
jelly_oy

引用来自“JFinal”的评论

在 web.xml 中添加 JFinalFilter ,只需要注意 JFinalFilter 与 spring 的 filter 的先后次序就好

 

如果 JFinalFilter 配置在 spring 的 filter 之前,需要做一个 UrlSkipHandler 来放行 spring 该处理的url,具体可以通过一下 jfinal 自带的 UrlSkipHandler

 

集合以后, spring 与 jfinal 可以互不干扰,而 spring 中也可以使用 jfinal 的 ActiveRecordPlugin 模块、模板引擎模块

@JFinal 波总可能有所误会,我请教的是 如何在 springboot中集成JFinal,

spring 集成 JFinal,我已经非常熟练了,哈哈,现在希望在springboot中集成JFinal,

由于 springboot项目不再需要 web.xml配置文件,所以这个自定义的JFinalInitServlet 不知道该怎么初始化,

麻烦高手指导下呀,多谢了

0
我叫程序猿不叫码农
我叫程序猿不叫码农

你是想用  jfinal的ActiveRecordPlugin 吗?

0
我叫程序猿不叫码农
我叫程序猿不叫码农

 用 ActiveRecordPlugin 的话 可以把jfinal里面的相关源码给提取出来。

0
jelly_oy
jelly_oy

引用来自“我叫程序猿不叫码农”的评论

 用 ActiveRecordPlugin 的话 可以把jfinal里面的相关源码给提取出来。

@我叫程序猿不叫码农  提取出ActiveRecordPlugin的源码当然是可以,

现在就是不想这么麻烦,就希望直接引用个JAR包就可以使用 JFinal Db嘛

0
jelly_oy
jelly_oy

各位大侠,本人经过尝试,实现了springboot与JFinal的集成,现将代码贴出来,供需要人士参考,哈哈!

首先说明下:其实不需要编写这个自定义的Servlet,直接下面这样写就OK了

@Bean
public ServletRegistrationBean jfinalInitServlet() {
    DruidPlugin druidPlugin = new DruidPlugin(url,username,password);
    druidPlugin.setFilters("stat,wall");
    druidPlugin.start();

    ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
    arp.start();
    return null;
}

注意要写在带@Configuration注解的类中

 

 

0
jelly_oy
jelly_oy

引用来自“jelly_oy”的评论

各位大侠,本人经过尝试,实现了springboot与JFinal的集成,现将代码贴出来,供需要人士参考,哈哈!

首先说明下:其实不需要编写这个自定义的Servlet,直接下面这样写就OK了

@Bean
public ServletRegistrationBean jfinalInitServlet() {
    DruidPlugin druidPlugin = new DruidPlugin(url,username,password);
    druidPlugin.setFilters("stat,wall");
    druidPlugin.start();

    ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
    arp.start();
    return null;
}

注意要写在带@Configuration注解的类中

 

 

经过反复试验,上面的方法行不通,在此说明下,希望不要误导了大家,

return null; 会导致内置tomcat容器启动失败

0
阿斯蓝
阿斯蓝

@jelly_oy 请问这个问题还有后续吗?

返回顶部
顶部