2016级网络工程体验式实训总结
发布时间:2018-09-05   浏览次数:220

2018年6月8日又开启了新一届-信息工程学院2015级的体验式实训,由黄国强老师、董园老师、郑书富老师、刘莉老师分别带队物联网工程、计算机科学与技术、数学、网络工程专业。

本次我作为网络工程的带队老师,和同学们共同经历了一场满载而归的“JAVAEE企业框架项目实训”的技术之旅。本次技术之旅历时6周,接下来介绍一下这一个多月的学习内容,主要分为4部分:

  1. JAVASE的巩固与深入

    学习内容:面向对象、集合框架、jdbc、设计模式

    通过一周的时间,带大家回顾了JAVASE的基础知识,如面向对象的三大特性,Arraylist、Map、Set等集合框架,集合框架在实际项目开发中用得比较多,以及多线程等知识。还学习了jdbc访问mysql数据库,另外,还学习了设计模式,设计模式的目的是提供可扩展性和可维护性,共有23种设计模式,设计模式在学校教学中讲解得不是很多,作为一名开发人员,应该尽可能地了解并理解常用设计模式的思想,一方面有助于学习一些优秀的框架,领略其设计的思想理念,才能在工作学习中运用到“无形”。如Spring框架涉及的设计模式有工厂模式、单例模式、代理模式、适配器模式等。另一方面,恰当地运用设计模式可以写出优雅、扩展性好的代码。

    学习设计模式关键是要理解其思想,这也是学习的难点,白老师用通俗、幽默的语言介绍了几种常用的设计模式。

  2. 单例模式

    单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在,比如可应用于工程的全局配置信息。单例模式要求一个类仅有一个实例和一个获得该实例的全局访问点,其优点是减少了内存的开销,尤其是频繁的创建和销毁实例。单例模式的实现方式有多种,有懒汉式、饿汉式、双检锁等,重点讲解了前两种,懒汉式即在类加载时不创建实例,在第一次使用该单例的时候才会实例化对象出来,性能上会有些延迟,并且存在线程安全问题,而饿汉式在类创建的同时就实例化一个静态对象出来,且线程安全,其缺点是没有达到Lazy Loading的效果,如果从始至终从未使用过这个实例,则会造成内存的浪费。推荐使用饿汉模式、双重校验锁、静态内部类和枚举模式。

  3. 抽象工厂模式

    抽象工厂负责定义接口,由子工厂负责具体子类的创建行为。适用于复杂的产品体系。比如抽象工厂是PC厂商,有生产鼠标,生产键盘两个接口。戴尔工厂和惠普工厂实现抽象工厂接口,可以分别生产戴尔鼠标+戴尔键盘,和惠普鼠标+惠普键盘。创建工厂时,由戴尔工厂创建,通过调用生产鼠标的方法则生产戴尔鼠标,调用生产键盘的方法则生产戴尔键盘。

  4. JAVAEE基础

    学习内容:html、js、jquery、jsp、servlet、监听器、过滤器、ajax等。

    通过大概7天的时间,学习了web前端技术和后端基础技术,由于同学们都有基础,进行得比较顺利,重点介绍了ajax的用法,ajax由于其异步刷新的特点,可以提高网页响应效率和用户体验,被广泛应用于web开发。尤其在前后端分离开发的趋势下,其重要性不言而喻。白老师通过案例演示和作业让同学们对ajax有了更深的体会,如多级联动和智能提示等案例。

  5. JAVAEE SSM框架

    学习内容:springmvc、mybatis、spring、ssm整合、maven、svn等。

    该部分内容是本次实训的重中之重,前面的内容都是为其铺垫,SSM框架是目前主流的web后端开发框架,即spring、springMVC、mybatis。Spring框架是一个轻量级的Java开发框架,具有解耦、简化开发等优势,

  6. Spring

    Spring核心是控制反转(IoC)和面向切面(AOP)。IoC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。Spring框架的核心容器的主要组件是BeanFactory,负责控制对象的生命周期和对象间的关系。依赖注入(DI)仅仅是控制反转的一个具体的例子,A类依赖于B类,B类通过控制反转注入到类A中。

  7. SpringMVC

    SpringMVC提供了模型、视图、控制的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件,主要有DispatcherServlet(前端控制器)、ViewResolver(视图解析器)、Handler(后端控制器)、HandlerMapping(处理器映射器)四大组件。

    DispatcherServlet主要负责与用户请求进行交互、ViewResolver负责把控制器返回的ModelandView解析为View视图对象、HandlerMapping负责根据用户请求找到Handler即处理器、Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

  8. Mybatis

    Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。当涉及到表关联查询时,Mybatis的mapper配置文件是难点。

    最后对三个框架进行了整合,学习了项目管理工具SVN,为下一阶段的项目团队开发做准备。

  9. 项目开发和答辩

    这是实训的最后一周,也是实训中最艰辛的阶段,同学们需在一周时间内,用这阶段所学知识进行团队开发一个完整的项目。可以自主选题,大部分同学都选择了问卷调查系统,少数同学选择了比较难的考试系统。

    大家很快进入状态,各有分工,从需求分析、数据库表设计、业务模块分工,同学们比任何时候都认真,干劲十足,互相帮助,白老师也是非常辛苦,不停地为同学们解决问题,由于团队开发,大家必须多交流,在收获知识的同时也增进了同学之间的感情。

    最后答辩环节,同学们轮流展现了自己的作品,每组都各具特色,有一些闪光点,大家一起分享、互相学习,白老师对每组都会认真点评,指出作品有哪些不足和完善的地方,给出了宝贵的意见。

  10. 感想

    经过这一个多月,和同学们共同学习进步,有一些个人感想:

    1)体验式实习的重要性

    让学生们走出校园,集中在企业进行培训,对于学生来说,是一次难得的体验和成长历程。一是学生们会真正意识到以后的就业问题,自己缺乏的知识,会增加他们的责任感。尤其是对于一些在学校不太认真的学生,这也是一种很好的刺激和觉醒。可以说这为学生的大学生活涂上了浓重的一笔,甚至是转折点。另外,班级凝聚力也会增强,班级的整个学风也会更好。

     2)老师的体验式实习

    虽为师者,更待解惑。作为老师,更需要多学习,提高自己的业务水平,多实践,跟上流行技术的步伐。

      

                                                                            实训带队教师:刘莉

                                                                                2018.8.24