2019-09-12 11:51

对方问你 "管理类" 应该改成 "管理对象"

在 jfinal 中,AopFactory 用来管理对象,她可以自动化处理 singleton、prototype,使用 @Inject 后可以自动化注入

根据 @Before 可以自动化处理拦截,稍微了解一下 aop、proxy 这两个包下面的代码就很清楚了

2019-09-12 11:48

PropKit 没有与环境变量关联

2019-09-12 11:46

如果从数据库源头就是驼峰的,无论你用哪种方式都是完美的,整个世界会很美好

数据库字段与代码变量命名形式的不同,只不过是历史原因与习惯问题,我在 mysql 中用驼峰命令字段超过八年了,爽得不得了

2019-09-12 11:44

@doubuxingle MixedJsonFactory 与 JFinalJsonFactory 会将 getter 方法当成不存在,所以不依赖于 getter 方法转 json

而 FastJsonFactory 只处理 getter 方法来转 json

具体到你的场景,建议使用 jfinal 的生成器先生成 getter 方法,然后配置成:
me.setJsonFactory(new FastJsonFactory());

至于关联查询得到的字段,如果你希望还是得到驼峰形式的字段名,手动在最终的 Model 中适当添加 getter 方法即可

如果为了省事,对于关联查询得到的值,使用非驼峰

2019-09-12 08:05

@doubuxingle 我自己的项目是这么来用的:
1:me.setJsonFactory(new MixedJsonFactory());
2:数据库字段弄成驼峰形式

2019-09-10 23:08

@码农 注意看一下这篇文档:
https://www.jfinal.com/doc/4-5

其中讲到了注入的一些原理

再一个,建议在 AopFactory 中设置断点,调试进去看看程序走向,一定可以解决的

我估计是因为对象的创建并不是 jfinal 接管的,所以不能使用 @Inject ,这种情况使用 Aop.get(...) 或者 Aop.inject(...) 即可

2019-09-10 17:50

Template 是线程安全的,所以在 enjoy 内部 Template 对象是被缓存的,被缓存可确保模板只被解析一次,后面可以无数次去使用

确保线程安全的主要措施就是:将不是线程安全的参数通过 render 方法参数传递进去,例如:
Template.render(Map data, Writer writer);

上面的 data、writer 参数线程不安全,所以让其通过 render 方法传入,确保了非线程安全参数与 Template 对象的分离,从而确保了 Template 可以采用线程安全设计并缓存,从而可以极大提升效率

2019-09-10 17:43

@1659811173 在这个页面按一下 ctrl + F 组合键,再输入 spring ,删完 spring 再输入 jfinal

你会发现,你提供的异常信息中,既不包含 spring 也不包含 jfinal

在这种信息量之下,神仙也不可能知道你在问什么

这个还不是知不知道如何解决的问题, 而是根本不知道你在问什么的问题

2019-09-10 15:53

这个配置与验证码完全无关,肯定是别的问题,细心排查一下

2019-09-10 15:52

@flash866 加入了俱乐部,俱乐部有一套专享代码,所以他手头就有了 @haoxiguan

肯花点小钱投资自己的,恰恰才是最能为自己省钱的,时间才是最大的成本

2019-09-10 12:18

其实这类问题,只要是从官网下载 jfinal_demo_for_maven,从中获取 pom.xml 中的插件,就不会出错

2019-09-10 12:17

将 "compilerArguments" 改成 "compilerArgument" 即可

也即,去掉 compilerArguments 最后面的字符 's'

2019-09-10 12:15

这个问题确实是这样

redirect 这个功能历史很久了,后面想改为支持 baseViewPath 会有兼容性问题

好在 redirect 用得还不算多

2019-09-10 12:09

@tyk1994 是否能在工作中使用 jfinal 并不是最重要的,更重要的是你能从 jfinal 的源码、设计中获取到价值,这些收获用到 spring 开发的项目中一样有用

如果自己做自己的东西,可以用 jfinal ,有不少人用 spring 是因为公司强制

此外,在 spring 中可以用上 jfinal 的 enjoy 以及 active record 模块,这两个模块早已独立成单独的项目,可以直接引入 maven 依赖来使用

2019-09-09 22:42

可能是有外部请求将你所在 ip 的服务器当成是代理服务器,或者是你所使用的 ip 以前为外部提供 API 服务

因此,有些外部请求仍然导向了你的 ip,这些请求被 undertow 接收到,并被处理成了异常

这种情况很少,只有两三个同学反馈过,我自己从来没有碰到过

你可以追踪一下请求来自的 ip,屏蔽掉这些请求,不建议处理,顶多只是通过配置 log4j.properties 忽略这类异常