ssh学习心得体会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
ssh学习心得体会
篇一:在ssh框架中使用spring的好处(面试总结)
在ssh框架中spring充当了管理容器的角色。我们都知道hibernate用来做持久层,因为它将jdbc做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的sql语句。struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以ssh框架的流程大致是:jsp页面
----struts------service(业务逻辑处理类)---hibernate (左到右)
struts负责控制service(业务逻辑处理类),从而控制了service的生命周期,这样层与层之间的依赖很强,属于耦合。这时,使用spring框架就起到了控制action对象(strus中的)和service类的作用,两者之间的关系就松散了,spring的ioc机制(控制反转和依赖注入)正是用在此处。
spring的ioc(控制反转和依赖注入)
控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控依赖注入:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。
从上面我们不难看出:从头到尾action仅仅是充当了service的控制工具,这些具体的业务方法是怎样实现的,他根本就不会管,也不会问,他只要知道这些业务实现类所提供的方法接口就可以了。而在以往单独使用struts框架的时候,所有的业务方法类的生命周期,甚至是一些业务流程都是由action来控制的。层与层之间耦合性太紧密了,既降低了数据访问的效率又使业务逻辑看起来很复杂,代码量也很多。,spring容器控制所有action对象和业务逻辑类的生命周期,由于上层不再控制下层的生命周期,层与层之间实现了完全脱耦,使程序运行起来效率更高,维护起来也方便。
使用spring的第二个好处(aop应用):
事务的处理:
在以往的jdbctemplate中事务提交成功,异常处理都是通过try/catch来完成,而在spring中。spring容器集成了transactiontemplate,她封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由spring容器来管理,大大减少了程序员的
代码量,也对事务有了(ssh学习心得体会)很好的管理控制。hibernate中也有对事务的管理,hibernate中事务管理是
通过sessionFactory创建和维护session来完成。而spring 对sessionFactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对sessionaFactory进行设定。
这样的话就可以很好的利用sping对事务管理强大功能。避免了每次对数据操作都要现获得session实例来启动事务/
提交/回滚事务还有繁琐的try/catch操作。这些也就是spring中的aop(面向切面编程)机制很好的应用。一方面使开发业务逻辑更清晰、专业分工更加容易进行。另一方面就是应用spirngaop隔离降低了程序的耦合性使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重
用度
篇二:jaVa学习心得
我也搞了几年jaVa了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。
首先初识语法的阶段,必须要学会怎么操作对象,操作
if和for,操作listsetmap,然后是线程、io和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。
这阶段完了,你可以写些能在控制台打印出来的小程序,
锻炼下逻辑思维。也就是号称jaVase毕业了,其实不过是
入门而已,如果要往web方向发展,这些倒是基本足够了。
接下来要学htmljspseRVlet数据库jaVascRipttomcat,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工,cookie和session,request和response。这个是个web开发的学习初级阶段,这都是些jaVa诞生以来最原始的最官
方的web开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四,你会被打击到的。
好,初始阶段完成,开始进入web开发的正题,首先是传说中的三大框架,strutshibernatespring成为熟练的增
删改查程序员是必须的,在这个阶段你还要理解为什么要用这仨而不是那些jspseRVletjdbc,你要体会到写mVc、三层架构的好处。这个阶段不要轻易质疑三大框架的价值,也许刚开始你会觉得麻烦,觉得他们有时候是多此一举,一两年后回过头来你会觉得少了这些框架你已经很难干活了。这个阶段还要避免的心态是能熟练地增删改查了,就认为写程序
不过如此,然后往简历上填个精通,这也是新手面试被批得体无完肤的原因之一。如果你学得好,这会应该能熟练地写个博客啊,小论坛啊之类的web项目了,也就是达到了就业的基本要求。
接下来就没有固定模式了,你的第一家企业对你的影响会很大,我见识过烂企业是如何毁新人的,用着设计恶劣的架构,老掉牙的技术,不断地耽误新人的成长,有的员工在这种企业一呆数年,思维已经完全被错误观点定型,深陷于公司业务和老系统中疲于奔命,看似能解
决问题,却无法给公司带来真正的进步,就像一个用了数年砍刀的人,就算再熟练,刀法再好,也打不过用枪的。如果离开了这个公司,恐怕很难在这个行业再立足。记得有个说法很好,一个人用10年的时间重复做头一两年做的事,你的真实工作经验其实还是一两年。烂公司的老员工就是如此。在这头一年里,定个标准吧,你应该能做到的有:
1、把一些常用的琐碎技术学会了,比如xml的作用和实际运用,如何操作文件,如何运用日志,如何简化封装常用的工具类,比如日期操作、编码处理、分页模块等等,这些小东西会占用你大量的时间去处理摸索。
2、把数据库用好。数据库不是会增删改查就可以了的,你要关注事务设置是否合理,是否有可能产生脏数据,是否要动用乐观锁悲观锁等等,重要数据出了错,无论是技术上