框架选择:
http://www.iteye.com/topic/205144?page=1
本文只是对论坛一个讨论帖子的整理,只供自己参考,别见笑!
struts+spring+ibatis+freemarker
国内某每日PV上亿的网站的架构,当然是集群来撑的。
集群不是万能,做不好,很影响性能。
支撑PV上亿,还有很多技术和技巧,而且更多的时候体现处理问题的设计上面。
Struts+spring+hibernate+freemaker
再考虑一下Ehcache或是Oscache
的确是有很多这种说法,如果对hibernate不熟悉的话,完全可以考虑采用ibatis
spring自带的例子petstrore就是一个对ibatis很好的应用,可以参考一下
反对用Hibernate,如果大访问量的话,会有非常专业的DBA来对SQL优化,如果用Hibernate,优化很难的
有时间的话可以研究Hibernate,但是它只能作为一个高效的sql生成器,并不能减少什么屏蔽sql的作用,要成为Hibernate高手,sql就不能太差,要知道什么业务操作会产生什么样的sql,执行效率如何。但是一旦成形了,后期效率会非常高。
要想真正提高性能,要根据业务,进行精确的缓存架构设计和应用,缓存架构可以是一种或多种形式的组合,既可以利用持久层的缓存,也可以利用前台的memcached,也可以考虑JVM级的对象级缓存。
web中的application缓存,没有什么明显的弊病。
我认为的弊病是,在不是大规模使用的前提下,web缓存不利于测试,JVM级的缓存测试方便。
还有就是复用的问题,数据的消费者未必是web啊,也有可能是webservice对不对,这样的话webservice就不能用到web缓存了。
还有就是你的控制力度的问题了,web缓存的话意味着你控制的是处在web这一层的对象,比如页面显示信息和DTO等,你的manager和service要直接利用这个缓存也会很麻烦,估计也不会利用。当然如果web缓存用得好的话,其他层的缓存也未必要用了。
不同场合不同结论,给定应用场合比较好举例。
freemarker+webwork(Struts2.0)+spring+hibernate(ibatis)
分享到:
相关推荐
基于c#的CAD二次开发的目标框架对应选择。错误的框架选择可能导致种种问题,因此需要去选择合适的框架才能更安全和高效的开发。
微服务架构的基础框架选择.pdf
微服务架构的基础框架选择知识.pdf
软件工程中的设计模式与框架选择.pptx
微服务架构的基础框架选择终稿.pdf
Lesson 0.深度学习框架选择与环境搭建.pptx
NULL 博文链接:https://flyqantas.iteye.com/blog/2220585
在java世界,到处充斥着开源,这无论对于知识的学习还是对于项目的建设都是大有裨益的,但同时,由于过多的开源资源,也使得我们在学习及项目使用的抉择上往往会陷入一种彷徨状态,我们到底要舍弃谁保留谁?...
当你需要在微信原生小程序中使用3d场景时,本文介绍了几种three.js框架,更快的避坑,选择合适的框架。
Java SSH 框架题库 SSH考试题库附上答案 基础复习,考试必备神器,好好复习.好好复习
当有多个微服务作为服务端提供服务时,同时引入GraphQL作为中间服务调用,我们还是可以用REST-Assured作为自动化接口测试框架,并引入testng来监听和按序执行用例,同时导入extentreports优化测试报告
(完整版)ssm框架题库-java.pdf
Java框架笔试题(含答案).docx
struts2,spring4,spring mvc,hibernate4,mybatis的三大框架(三套)
Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。包含有事务的配置以及运用。使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程...
安卓最火的图片选择框架,使用方便快捷,支持图片单选、多选等参数,引入简单
Matlab技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题
Matlab技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题
(选择一项) A:控制器处理方法的返回值若为: ModelAndView,则既可以包含视图信息,也可以包含模型数据 信息 B:控制器处理方法的返回值若为: ModelAndView, 在处理方法的方法体内,除了通过setViewNam e()或者...