一、实习目的进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。二、实习单位及岗位介绍1、实习单位介绍河南云和数据信息技术有限公司,专注云计算和大数据及三维可视化相关领域研究与专业服务,是国内目前唯一可同时整合Oracle、Microsoft、Unity、Baidu四大国际顶尖IT品牌的产品、技术、解决方案及原厂教育资源的高科技公司。云和数据是Oracle公司河南OAEP中心运营、管理机构,是微软MicrosoftAzure云计算中国首家合作伙伴,是Unity公司全线业务在河南的战略合作伙伴,也是百度营销大学、在河南地区的官方授权合作运营机构。云和数据可提供用户数据库管理、分析与设计及性能调优等技术服务,可面向企业与个人提供云计算、3D虚拟现实、数据分析挖掘等产品与解决方案。发布了国内首创的备贝容灾备份系统,投资建设了理念先进的健康云服务平台,覆盖“终端+应用+平台+服务”整个产业链。云和学院,作为云和数据公司高端IT教育品牌,投资4亿元,拥有Oracle、Unity和百度营销大学原厂授权,可自主进行课程设计与交付。首次把IT业内四大国际顶尖公司的产品、技术、解决方案、教育资源聚合带到河南的同时,一站式解决高校关注的原厂授权教育基地、授权考试中心、授权合作研发中心、科研实验室技术平台建设,技术支撑、专业共建、师资培养、校企合作、成果转化、学生就业、创业等问题。2、实习岗位介绍我的岗位是Java软件工程师。实习期间参与人力资源管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。三、实习内容及过程1、Java基础知识Java的基础知识对于一个Java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)。他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的Java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等,所以一个系统对于Java编程基础的依赖便不言而喻。2、MySQL、Oracle数据库MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性着称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。3、Servlet和JSP一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。JavaServlet技术为这些应用程序定义了一个特定于HTTP的Servlet类。javax、servlet和javax、servlet、http包为编写Servlet提供了接口和类。所有的Servlet都必须实现Servlet接口,该接口定义了生命周期方法。JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*、htm,*、html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。JavaServlet是JSP技术的基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。4、三大框架Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2的变化很小。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Spring也表示是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。5、管理系统的开发在开发团队中,加强了自己的团结精神和集体感,对工作认真负责,对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程,从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面,使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发,加深了软件开发概念的理解。不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问,是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的java培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的问题,就需要查阅相关资料,请教同事和经理,一个问题一个问题的解决,一个困难一个困难的克服,不仅将原有知识温习巩固,产生新的理解,而且学到很多新知识,有了许多新的认识。但某些认识都还是肤浅的,还需要我在实践当中去不断深入地理解。现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期,也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行,功能要求一般在分析里面都写的很清楚,但是在现场开发直接面对客户,客户提出的需求一开始只是一个大体的功能描述,如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解,这个过程大大锻炼了自己的综合能力。在第一时间接触客户的需求,从客户的角度思考问题,只有更了解客户需求才能更合理的设计软件的结构,功能。四、实习总结及体会通过这次实习机会,我主要学习了以上这些java编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过svn等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。我在开发期间遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看10遍都不如你敲一遍来得印象深刻。通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。