JFinal demo中,全局的共享Blog对象疑问

波总,小弟有一个疑问,在Model中创建一个共享对象来操作数据库,会不会有并发的问题呢,小弟才疏学浅,望波总有时间指导一下。

public class Blog extends BaseBlog<Blog> {
	
	public static final Blog me = new Blog();
	
	/**
	 * 所有 sql 与业务逻辑写在 Model 或 Service 中,不要写在 Controller 中,养成好习惯,有利于大型项目的开发与维护
	 */
	public Page<Blog> paginate(int pageNumber, int pageSize) {
		return paginate(pageNumber, pageSize, "select *", "from blog order by id asc");
	}
}


因为me这个实例是共享的,所以在调用paginate()的时候,会不会产生并发呢

评论区

JFinal

2016-07-31 21:34

me 这个实例是共享的,所以不能使用其中的数据承载方法,只能使用其中的 find(...) 系列以及 paginate(...) 系列的方法。

严格来说,这个 me 对象不应该存在,只是为了避免在查询时避免 new 一个对象,节省点时空。

现在 jfinal 的最佳实践已经不建议在 Model 中创建这个 me 对象了,而是在 Service 层持有一个 model 的对象用来查询,而 service 层持有的时候一般不会有人误用其 set(...)、 update()、delete() 方法了

lyh061619

2016-08-01 17:31

@JFinal 波总:教育要从娃娃抓起^_^!!!,上面所说的引用service层,引用入此层对中大型项目开发维护结构清析。哈哈!!!

JFinal

2016-08-01 18:03

@lyh061619 正在努力引导 jfinal 用户引入 Service 层,不是那种 interface 满天飞的搞法,jfinal 后续要开源的项目都会走这条路

lyh061619

2016-08-01 23:05

@JFinal 支持波总,向MVP靠拢,JFinal即上的厅堂下得了厨房立马高大尚不少了,哇啦啦!^^~

JFinal

2016-08-01 23:11

@lyh061619 2016 这一年将会看到一个比较完善的 jfinal 生态,各个方向都在发力

JFinal

2016-08-01 23:12

@lyh061619 jfinal.com 社区也有一大波功能在开发中,更方便、更极速、用户体验更好

lyh061619

2016-08-02 09:10

@JFinal 嗯!能有一个健全、稳定、极速的JFinal和生态,最后向波总及JFinal团队致敬!您及团队成员辛苦了。

热门反馈

扫码入社