SSH框架学习之路

        我是从上一年的国庆节进入我们学校的实验室的,然后跟着学长一起学习java和SSH框架。初进实验室,最紧张的任务就是把编 译器配置好,还有安装各种各样的插件,记得这些都整了我2天的时间。然后学长给了我4G的学习视频。然后我就开始了学习之旅!为此,我还特意买了个MP4,上课的时候也在看教学视频。

       之前我只接触过c语言,根本对面向对象的java语言没有任何的概念!所以感觉一开始学习的时候还是比较痛苦的。但是慢慢的我发现了java语言的优美和便捷。很多东西都有了很好的封装,你只需要直接使用就OK了。慢慢地,从java语言的编码规范,最基本的数据类型,语言规则,到java的一些特性(多态,注解,IO流,泛型,数据类型集装箱,反射,线程,设计模式....)慢慢地开始对java语言有了一些了解,当然有时候迷惑的时候会请教一下学长!这大概花了我大约3个月的时间吧(算上上课时间)。之后我就开始接触基于java语言的一些优秀的java框架(struts,hibernate,spring)。

       struts:之开始接触的时候根本不知道他到底是个什么东东,到底是干嘛的!然后请教学长,他写了demo给我,我才知道,原来struts就是基于mvc模式,采用jsp/servlet技术的web应用框架!然后我就开始慢慢地跟着教学视频和资料慢慢地学习struts,由于本人资历较浅,所以我就根据教学视频,把每个demo都敲了一遍!一开始是先把struts的一些开发包导入,然后学习配置struts的配置文件,然后就完成了我的第一个helloworld程序!有了之前的一些java基础和helloworld的简单框架,就越来越发现原来struts这么有趣!学习到了struts的一些很好用的特性(拦截器(默认拦截器,拦截器栈....),过滤器,动态方法调用,通配符,struts的result结果集(chain,dispatcher,redirect....),Action的Scope对象的获取(ActionContext,request,session,application)OGNL表达式,jsp标签等等....)慢慢地就把struts学完了,一些基本的都会使用了!

      hibernate+mysql:然后就马不停蹄地开始学习hibernate,听学长说hibernate是操作数据库的,我一想:如果我对数据库都不熟悉,那我怎么学习hibernate呢?然后我就找了本学习mysql的书籍,学者安装mysql,学习数据库,跟着建表,建立查询索引,敲sql语句,了解mysql表的连接关系,了解mysql自带的一些函数等等。然后就开始学习了hibernate,其实之后才发现:我感觉没有数据库基础的学者也可以直接学习hibernate!然后就从基本的导包和学习配置hibernate的配置文件(hibernate,cfg,xml),然后对照着帮助文档慢慢的学习hibernate。有了学习struts的一些经验,对于学习hibernate就有点应手了。然后跟着例程慢慢地懂得了hibernate的一些特性包括:hibernate的五大接口: Configuration,SessionFactory,Session,Transaction,Query; hibernate的关联关系(一对一,一对多,多对多);hibernate的数据检索:HQL语句(面向对象的操作);hibernate的实体对象的声明周期(瞬时态,持久态,托管态);hibernate的缓存技术(一级缓存,二级缓存);hibernate的悲观锁和乐观锁;hibernate的事务处理等等...慢慢地对于hibernate有些了解了。当然当你学的有些水平的时候,你也可以试着模仿hibernate写一个“myhibernate”。最近我就在做这件事情!

     spring:任何学习java语言的程序员如果没有听说过spring的话,那真的很失败啊。。首先,spring其实就是解除类与类之间的耦合度的,在这里就衍生了两大重要的设计思想spring的IOC和AOP,对于IOC容器实际上将就是BeanFactory,当然spring为我们准备了许多种IOC容器来使用,这样可以方便我们从不同的层面,不同的资源位置,不同的形式的定义信息来建立我们需要的IOC容器。对于AOP呢,其实是对OOP思想的延伸,面向切面的编程,比如说:上面提到的struts的拦截器,其实就是一种面向切面思想的编程!学习IOC一定要知道 Bean的生命周期,定义,初始化,使用,销毁等等。学习AOP也一定要知道 核心关注点,横切关注点,切入点,切面,通知等等,并能够熟悉地应用。其实spring做的很强大!他不仅可以继承一些比较有些的框架:struts,hibernate,mybatis等等,他自己本身也有这些框架的一些特性,spring的JDBC-->JDBCTemplate,springMVC,spring的事务管理....另外还有spring的一些特质: JNDI,JTA,JMS,JAVAMAIL等等...  所以学好spring对于提高java水平有很大的帮助。我曾经在暑假模拟了spring的IOC过程。。

  SSH整合:

    对于J2EE开发,后台框架的灵活性很重要,在做项目的时候我就写了个基于hibernateDAO泛型和一个后台框架,把所以的任务都丢给了我的BaseService和BaseDAO,这样可以省去大量的代码!体现出了类的单一职责原则!

   上个月,写了一个简单的静态网站www.iswust.cn,学习了简单的html和css,但是现在对前台还是了解不多,等我把《深入分析javaweb技术内幕》这本书啃完后,就了解了解前台,然后到明年阿里巴巴春招的时候,试一试!

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/tdd/blog/337398

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值