第一篇:基于Maven的轻量级Java软件开发研究论文
本文通过对多种Java软件架构进行比较分析,提出了一种轻量级软件开发的方法,该方法使用Maven进行项目管理,采用Spring MVC和Hibernate框架搭建分层的软件架构,解决了软件开发复杂,效率低,管理混乱的问题。
Java语言自从推出以来一直是最流行的编程语言,社会上越来越多的开发人员利用Java技术进行软件开发,也出现了越来越多的Java框架,为了提高软件开发的质量和效率,降低软件复杂度,需要选择合理的框架搭建软件架构,并且需要相应的技术进行项目的构建和管理,本文研究适合中小企业软件开发的轻量级的Java软件架构,并采用流行的项目管理工具Maven管理软件开发,以降低软件开发的难度。
1、多种软件架构的比较
1)早期的Java企业级开发采用框架重量级EJB(Enterprise JavaBean)。EJB是定义了一个用于开发基于组件的企业多重应用程序的Java EE标准。因为EJB容器默认为应用提供了EJB规范中的所用功能,以它为架构的应用程序需要消耗大量资源,具有侵入性,所以是一种重量级框架。
比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等。其次还表现在EJB巨大而复杂的规格说明以及代码规范。现在的EJB3.0增加了许多新的规范,例如元数据支持,实体Bean模型访问Bean上下文的新方法和运行时环境等,但是EJB仍然具有过于复杂的特性。
基于重量级框架EJB的软件架构没有很好的灵活性来应对需求的变化,缺乏实用性,所以随着SOA和其它力量的兴起,软件开发也越来越多地选择轻量级的部署平台。
2)常见的轻量级组合框架采用Struts2、Spring和Hibernate设计。Struts2是一个主流的基于MVC模式的Web开发框架,该框架包括三部分:核心的控制器组件、业务控制器和用户实现的业务逻辑组件。
其中,Struts2框架提供了核心控制器,用户实现业务控制层和业务逻辑层,具体实现时业务逻辑层采用面向接口编程;Hibernate是一个基于Java的对象关系映射(ORM)开源框架,对底层的JDBC进行了非常轻量级的封装,开发人员通过它可以使用面向对象的编程思想操作数据库。
使用JDBC的应用都可以用Hibernate替代,并且Hibernate可以取代重量级EJB在Java EE架构中的应用,完成数据持久化操作;Spring是为了降低企业应用开发的复杂性而创建的轻量级Java开源框架。
Spring框架的采用分层架构,分层架构的优点是使用者根据需求选择使用其中的组件,并且可以提供集成的框架。Spring通过核心的控制反转(IoC)和面向切面(AOP)功能,使用简单的JavaBean来完成以前由重量级EJB完成的应用。
Spring的应用不仅限于服务器端,任何的Java应用都可以选择需要的Spring功能模块。所以,Spring是一个分层的一站式轻量级开源框架。
Struts2、Hibernate、Spring组合的轻量级架构如图1所示。
3)目前流行应用Spring MVC完成Web开发。Spring的轻量级和低入侵性使得其应用越来越多,由此发展了Web模块,融合在Spring Web Flow里面,即Spring MVC。
Spring MVC是提供了构建 Web 应用程序的全功能MVC模块。该功能和Spring其他功能一样是一种可插入的MVC架构[1]。Spring MVC轻量级框架侧重于减小开发的复杂度,比较适用于开发中小型企业应用。所以在使用Spring进行Web开发时,越来越多的使用SpringMVC框架取代集成其他MVC开发框架(如Struts2)。
2、轻量级软件架构的搭建
基于了Spring和Hibernate轻量级的特点,采用Spring MVC和hibernate整合完成分层的轻量级软件架构,应用Hibernate的对象持久化功能进行域模型层和DAO(Data Access Object)层的实现,应用Spring MVC定义控制层(Controller)和视图层,应用Spring的对象管理功能管理DAO层、服务层(Service)和控制层的对象,降低软件组件间耦合性。
在进行Spring、Spring MVC和Hibernate轻量级架构搭建时,为使应用耦合度低不依赖其他容器,采用基于简单Java对象的方法,这可以提高软件的开发调试效率。具体搭建该轻量级软件架构需要注意以下几点。
1)导入Spring和Hibernate及其他功能(例如数据库驱动)的支持Jar包。
2)Spring MVC的核心是DispatcherServlet,这个Servlet充当Spring MVC的前端控制器,必须在web.xml中进行配置。
3)必须定义基于这个servlet名字的XML文件,DispatcherServlet在加载时会从该文件中加载Spring上下文。
4)定义相应功能的处理类和返回视图。
采用的轻量级框架Spring和Hibernate都是基于Java的开源框架,在开源社区中为这些框架提供了成熟的API和许多快速构建工具以及可供参考的开源代码,这更利于软件的快速开发。
3、Maven的应用
在进行轻量级的软件架构开发项目的过程中,还必须有良好的项目管理工具。Maven是一款通过简短的描述信息来管理项目的构建,报告和文档的软件项目管理工具,它的核心是基于项目对象模型(POM)。Maven包含了一个项目对象模型、一组标准集合、一个项目生命周期、一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。
应用Maven,可以用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。Maven可以让开发人员快速地构建一个项目,有效地解决包管理和项目发布问题,并且可以与持续集成进行无缝对接。对于大型的系统,采用Maven 作为项目管理工具,可以有效地进行分工协作。
Maven的这种应用无侵入性,本身就是轻量级软件架构的需要。
将Maven应用于基于Spring MVC的轻量级软件架构,可以有效的提高项目开发进度,降低项目复杂度,主要方法为以下几种。
1)为项目定义pom.xml文件,该文件中定义了项目对象模型,是Maven脚本的基础,这个模型定义了项目的各种属性,脚本都是基于该模型工作;此外在对象模型中对所依赖的包有明确的定义,如定义使用哪个版本的包。
2)Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,Maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,并且用maven编译的项目在发布的时候只需要发布源码,小得很,使得项目更加轻量级。
3)Maven还为项目提供了大量的附加脚本降低项目开发的复杂性,例如生成网站、生成文档、源代码参考手册等,利用Maven只需运行相应脚本。
4、结论
良好的软件架构和项目管理工具是软件开发成功的基础,不仅能够降低开发难度,节约开发成本,还能够极大的提高软件的可扩展性和可维护性。基于Spring、Spring MVC和Hibernate搭建的软件架构以控制器、模型和视图(MVC)为基础,对底层JDBC进行对象封装,提供业务模型基础,并应用分层和按需集成方式开发web应用;Maven服务于基于Java平台的项目构建、依赖管理和项目信息管理,来降低系统各个模块之间的耦合度,使得代码的复用性大大提高,可以实现项目的并行开发,进一步提高系统开发的可扩展性及稳定性,降低软件开发难度。
Spring MVC、Hibernate框架以及Maven工具发展迅速,公司项目采用它们的比例在持续增长,在软件开发时可以借鉴。
第二篇:java软件开发工程师 简历
个人简历
个人基本信息姓名:性别:联系方式:出生年月:
电子邮箱:毕业院校:北京化工大学北方学院专业:软件工程学历:本科(统招)求职意向
Java软件开发工程师
教育背景202_年 9月~202_年 7月北京化工大学北方学院软件工程本科专业技能
熟练掌握Core Java基础,具有良好的编码风格和编程习惯;熟练掌握基于Servlet、JSP、HTML的Web编程;熟悉JQuery、Struts2、Hibernate、Spring等应用开发框架及MVC模式;熟悉Ajax,JavaScript,XML,Css等技术; 熟悉JSP页面上的标签技术如EL、JSTL;熟悉MySQL、Oracle数据库,熟练书写基于标准的SQL语句; 了解常用的commons组件(log4j,ant),掌握应用log4j记录日志;熟悉Unix/Linux操作系统的常用命令;熟练使用MyEclipse工具进行开发,Tomcat服务器;熟悉Java设计模式:单例模式、工厂模式等;能够独立思考和解决常见问题,有查阅资料解决技术问题的能力。项目经验网上购物系统开发环境: Linux, MyEclipse, Tomcat, MySQL
使用技术: Struts2+ Hibernate + JSP + Spring + Jquery + Ajax 等
项目描述:
1.注册模块: 使用JQuery和Ajax技术对表单进行验证,struts框架进行后台验证, 注册成功后向用户邮箱发送激活码。
2.帐号激活: 解析用户提交的激活码, 相应地修改其激活状态, 激活后方能登录。
3.浏览商品: 主页面左边是商品分类列表, 根据用户所选的类别, 分页显示所有该类商品。
4.购 物 车: 用户购买商品后, 生成商品条目添加到购物车中, 并且通过cookie技术将用户所购买商品的信息保存到浏览器, 如果用户禁止cookie使用session机制保存在服务器, 可以根据cookie、session恢复购物车.用户可以进入购物车对商品进行增, 删, 改以及恢复操作。
5.生成订单: 用户必须登录后才能结算, 结算后, 生成订单, 并且清空购物车以及对应的Cookie、session。
6.动态更新: 根据商品的交易量, 更新网站主页的 ”热销榜”。
责任描述: 在既有的体系结构设计和数据表的条件下, 完成所有模块的编码和测试。该系
统基于MVC框架,使用JSP完成显示逻辑, 页面中使用到了Struts2标签和ognl
表达式进行数据的动态绑定, 并且运用Ajax异步请求方式完成页面的局部更新,比如用户注册页面验证,验证码的更新,商品浏览页面的各个模块的更新,模块
内页面的翻页。利用Cookie和Session机制对购物车里商品进行保存,快速选
取送货地址。控制器由Struts2框架提供支持,通过拦截器、action和XML的搭配很好的处理页面发送的请求。通过Hibernate实现数据库的访问和数据的持久化,提高了程序的灵活性。DAO、工厂模式的应用降低了组件之间的联系。
采用Spring的IOC和DI技术实现页面以及组件的注入,AOP实现对日志的记录、用户的登录检查和事务管理。
项目心得:
1.对于Struts2,Hibernate,Spring框架和MVC设计模式有了更深入的理解。
2.编码时不要心急,耐心的完成每一个方法的逻辑和测试, 步步为营, 增量式开发。
编码时, 积极和团队中的其他成员交流与沟通可以事半功倍。有些问题和细节自己
是很难发现, 经常是小组谈论时, 受到队友的启发,顺利的解决问题。
其他
1.在线考试系统
2.贪吃蛇
2.简单相册
3.五子棋
4.简单的HTML打字游戏
5.webQQ
培训经历自我评价202_年6月~202_年11月北京达内科技有限公司Java软件开发实习生
1.具有一定的逻辑思维能力, 对计算机编程有着浓厚的兴趣。
2.敢于接受挑战,喜欢钻研, 具备独立解决问题的能力。
3.沉稳,工欲善其事, 必先利其器, 在写代码之前我习惯花一些时间将逻辑关系理顺,把一些细节考虑清楚, 每一步都尽量做到心里有数。
4.具有一定的英文阅读能力,能够阅读英文文档。
5.为人诚恳,热心,具有团队合作精神,小组遇到问题时一起谈论,找到最佳的解决方
案。
6.性格随和, 乐观, 懂得及时释放压力, 保持积极饱满的工作状态。
7.经过培训,技能得到了很大的提升,如果还有机会充实自己,我也会非常珍惜。
第三篇:Java软件开发工程师个人简历
个 人 简 历 模 板
【个人信息】:
姓名:
年龄:
学历:
联系电话: 杨** 21岁 本科 138******11
Java软件工程师
学习时间
202_/9-202_/6 性别: 项目经验 : 专业: 电子邮箱: 男 一年 计算机科学与技术y****t@***.com 目标地点: 专业 计算机科学与技术 深圳 上海 北京 【求职意向】: 目标职位: 【教育背景】: 学校名称 湖南师范大学
【自我评价】:
本人有责任感、学习能力强、有上进心、具有很强的团队精神,善于与人沟通,表达能力良好;喜好编程开发,并且有一定的编程功底,在工作上积极负责,能够很好的根据项目计划书完成软件的开发。
【技能专长】:
1.熟练使用Jsp,Javabean,Servlet,JDBC等Web开发技术进行开发
2.熟练使用HTML、Javascript、Ajax等表现层技术,了解XML;
3.熟悉Struts、Hibernate、Spring等开源框架,熟悉MVC三层架构开发模式;
4.熟练掌握SQL Server 202_/202_、Oracle数据库的操作;
5.熟练使用Eclipse,能够使用PowerDesigner、Visio等建模工具;
6.熟练掌握Tomcat,了解Jboss;
7.了解C/C++等;
8.在项目开发过程中善于交流,有良好的开发及协同团队工作能力。
【项目经验:】:
项目名称:迅捷物流管理系统
周期:3个月
开发工具:Eclipse,PowerDesigner,SVN,Dreamweaver
开发环境:Windows xp,Oracle 9g,JDK1.6,Tomcat6.0
开发人数:6人
技术框架:Struts + Hibernate + Spring + Ajax + Log4j等
项目描述:
1.使用本系统可以大大提高物流业务公司的运作效率。通过全面的信息管理与分析,辅助提高物流公司业务的决策水平。本系统可以迅速提升公司管理水平,为降低公司运营成本,提高效率提供有力的技术保障。
2.本系统采用B/S模型,采用4层架构。分为:视图层、控制层、业务逻辑层和数据访问层,使用Log4j 实现日志管理和系统异常处理。
主要模块:
1.客户服务(客户管理、订单管理、操作员工作量查询)
2.调度中心(订单调度、任务单管理)
3.分站管理(分站管理、发票管理)
4.库房管理(中心库房购货入库/调拨出库、分站库房调拨入库、领/退货管理)
5.配送管理(进/退货管理、商品管理、库房管理、供应商管理、业务统计查询)
6.财务管理(结算管理、发票管理,报表管理)
项目责任:参与文档的编写和数据库设计,主要负责财务管理模块开发的功能实现以及系统的集成测试。
对jfreechart有了更深一步的了解。
项目名称:聊天室系统
周期:3个月
开发工具:Eclipse,PowerDesigner,Dreamweaver
开发环境:Windows xp,Oracle 9g,JDK1.6,Tomcat6.0
开发人数:1人
技术框架: jsp+ Ajax等
功能描述:
1.登录模块: 用户登录,包括验证用户是否在线。
2.管理模块:实时显示在线人员列表及在线人数。
3.聊天模块: 用户发言,包括选择表情和字体颜色功能。
4.退出模块: 安全退出聊天室。
项目责任:这个聊天室系统是我在学习了Ajax之后,通过在网上查找资料和使用乐趣聊天室系统后的体会进行了文档和数据库的设计及后面的代码编写。
第四篇:Java软件开发实习报告(本站推荐)
Java软件开发实习报告范文
同学们可以通过实习对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse 开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。下面带来Java软件开发实习报告范文,欢迎阅读!Java软件开发实习报告范文一
一、实习目的
通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse 开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习主要流程
1、公司管理规则,程序员素质,程序员编码规范;
2、需求开发与管理;
3、面向对象分析与设计,面向对象编程的特性;
4、javaSE、javaWeb、页面设计JSP页面;
5、数据库设计、SQL应用;
6、软件需求分析与设计;
7、项目实战
三、实习内容
Oracle数据库
数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。
Oracle服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了Oracle服务器和其他数据库管理器的比较结果。
Oracle服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管Oracle始终在不断发展,但目前Oracle服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的Oracle十分适合于访问Internet上的数据库。
java与SQL的应用
Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。利用Java语言中的JDBC技术,用户能方便地开发出基于Web页的数据库访问程序,从而扩充络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server XX、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。
控制技术Servlet技术
1)什么是Servlet
一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。
和包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
2)Servlet的生命周期
一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。
页面设计JSP页面
1)MVC 模式
为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型视图控制器”Modelviewcontroller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于络层的模视图控件 模式(比如Struts 和Spring framework)。
2)JSP技术的强势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
3)JSP技术的弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
四、实习总结
通过这一期的实训,虽然实训的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。
当我们正式准备学习实训java编程技术时,让我倍感兴奋,毕竟java是自己以后想主攻技术,所以自然也就非常的亢奋。刚开始实训的第一天,同学们就推荐我为组长,我感觉肩上责任之重大,那一刻起,我就决心带领我们小组,奋战我们的实训路。当然开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也无济于事,通过我们小组的积极努力协作,同时请教老师和其他同学,我们顺利的化解了一道道的障碍。
这让我不断的对学习技术又有了新的认识:学习中我们必须边总结边学习,开始阶段对老师交代的任何方法和类都不要放过,不管是否简单与否都要乐于地接受,因为老师肯定有他的道理,相信老师走过的路比我们长,那么其经验也就肯定比我们丰富。上课时一定要专心听讲,一个关键的知识点听漏了,可能会使一个人在课下花很多时间去消化,这样也就会花掉做其他事情的大量时间,同时也使得学习不能和老师的讲的课程同步,以至出现以后就跟不上老师讲课的进度而掉队。所以学习中我们宁可先劳其筋骨,苦其心志,恶其体肤,也不能掉队跟不上学习进度。
在这里,我非常感谢实训的指导老师,在老师的帮助和指导下,我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了java的基础知识,并且能独立的开发出系统。
实训即将结束了,我非常怀念厦门万策在南昌大学的校内实训,在实训的这短短两周的时间里,我每一天过的都市踏实的,充实的;我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,尽管在未来的java路上荆棘丛丛,我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!
实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。
通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,我要坚定自己的信念,在公司好好实习,争取提早转正,我相信我会在JAVA开发这条路上走的更长更远。
有些知识点以前没有学过,但我也没有去研究,实训时突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。另外一点,也是在实训中必不可少的部分,就是同学之间的互相帮助。所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮忙看了一下,发现其实是个很小的错误。所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。俗话说:“要想为事业多添一把火,自己就得多添一捆材”。此次实训,我深深体会到了积累知识的重要性。在实训当中我们遇到了不少难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决。两个礼拜的实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比较满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!
Java软件开发实习报告范文二
一、实习目的
进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习单位及岗位介绍
1、实习单位介绍
2、实习岗位介绍
我的岗位是Java软件工程师。实习期间参与人力管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。
三、实习内容及过程
1、Java基础知识
Java的基础知识对于一个Java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)。他看重的是你的基础扎不扎实,对于易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的Java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等,所以一个系统对于Java编程基础的依赖便不言而喻。
2、MySQL、Oracle数据库
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性着称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。
3、Servlet和JSP
一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 Servlet类。javax、servlet和javax、servlet、http包为编写Servlet提供了接口和类。所有的Servlet都必须实现Servlet接口,该接口定义了生命周期方法。
JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的页HTML文件(*、htm,*、html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP页Java程序片段可以操纵数据库、重新定向页以及发送Email等,实现建立动态站所 需要的功能。所有程序操作都在服务器端执行,络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP页。
Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。
4、三大框架
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
5、管理系统的开发
四、实习总结及体会
通过这次实习机会,我主要学习了以上这些java编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过svn等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算
基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。
我在开发期间遇到很多问题,但是我会试着到络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看10遍都不如你敲一遍来得印象深刻。
通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。
Java软件开发实习报告范文三
一、实训目的 1.熟练掌握Java面向对象程序设计的基础知识。
2.熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
二、课程设计报告内容
实训内容
本课程设计的题目是设计一个简化的图书管理系统。该系统从图书馆管理人员的角度出发,实现对图书信息、读者信息的浏览、添加、删除和查询,同时还可以对读者借书、还书过程进行操作和控制。设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。
系统功能分析是在系统开发的总体任务的基础上完成的。该管理系统需要完成的基本功能主要有:
查询。
查询。
实训设备或软、硬件
硬件:PⅣ及以上性能的PC机;
软件:Windows XX或Windows XP系统;JDK工具;环境
功能设计及思想
首先设计测试登录窗口:
接下来设计(登录窗口)、MainFrame(主窗体)
(图书入库窗口)、(添加读者窗口)、(添加用户窗口)、(借书窗口)、(还书窗口)、(图书查询窗口)。
导入部分及实现的接口
三、结论
Java实训在不知不觉中就结束了,我感觉自己还有好多东西要学,还有好多的东西不懂呢!这是我大学以来第3次实训,每次实训我都感觉学到了好多东西!因为是一天到晚的不间断训练,所以记的会非常牢固。不像平时上课,每上两次的理论课却只有45分钟的实际操作。在课上,有老师在前面演示我们都还能跟着做,可轮到我们独立完成的时候,因为实际操作的少,早就忘光了!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对我们计算机水平的提高发挥着重要作用!还要感谢我们的侯老师,侯老师学识渊博,也很有耐心,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指导,还给我们讲一些学习java的方法,让我们知道自己在哪方面不足,需要加强,也让我们了解到哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好!
经过这次的实训,我真真确确的感受到了这些开发工具能让我们提高工作的效率,更直观更便捷的切入主题。这次我们学习的是制作图书信息管理系统,由老师给我们指导。当然,在学习的过程中并不是一帆风顺的,在这之中,因为要操作的东西很多,有时错一步,后面的结果就无法显示,而自己的耐心与细心又太差,根本检查不出来是哪里出了错!这时候,侯老师都会耐心的过来帮助我,我很感谢侯老师也很感谢学校能安排这么优秀的侯老师来教我们!只是,我们太顽皮,有很多东西老师讲了我们也没能记住,我想在此说一句:老师,您辛苦了,下学期我们一定认认真真的好好学!
实训课是在学习与探索中度过的,短暂的15天实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如图书管理数据库的初步设置、JDBC和SQL Server服务器的连接、数据备份与还原的步骤,报表的设计与实现、如何设置数据源、通过ADO访问数据库的方法、监听器、各种Java Swing组件的使用,绑定控件的属性设置、如何实现Click事件、实现它的获得方法、设置注册焦点
监听器、获取当前日期、以及利用函数之间的相互转换等等一系列的问题,正是在老师和同学的共同努力之下,我才一步步把问题解决了,最终完成了不可能完成的任务。
为期15天的实训课就这样结束了,我发现我对java有了新的认识,以前只知道玩游戏、娱乐和简单的应用。通过这次的实训,我了解到,要真真正正的掌握这些开发工具还不是一件简单容易的事儿,但真正掌握后,它带个我们的将是无穷的便捷与科技,我喜欢高端便捷的生活。我希望我能做计算机这个万能机器人的主人而不是奴隶,我会努力加油的!
通过实训,我不仅巩固了旧知识,也学到了新的知识,并且把所学的应用到实际操作中,提高了我们的实际动手能力和逻辑思维能力。也让我们对软件开发的流程有一定了解,并且对开发软件有了一些初步的经验。真正做到了学习与实际应用相结合,真的很感谢老师为我们争取的这次实训机会,在这次实训期间我获益匪浅。
最后,谢谢老师在实习过程给予的帮助!老师辛苦了!感谢学校,感谢老师给我的帮助,让我的思想、技能又上了一个台阶!
四、结束语
Java图书管理系统项目心得:
其实在学习图书管理系统实训时,我们就已经开展了SQL的学习,虽然它们之间存在不同,但是属于同一种语言——计算机语言,但是实际上呢!它们的思想是不同的,JAVA只是一种面向对象语言,而该项目实战是教我们如何制作一个实用型的软件,从实际出发,一步一步的按照老师的规定进行,按正规模式的方式制作软件,从初期的项目分析,书写可行性报告,到项目分工,最后开始书写代码,一天一天的写编程日记,把每一天遇到或完成的事情记录下来,一步步设计完成自已的工作,想象自己是一个程序设计师,我主要完成界面及其代码的设计,而其中有很多东西是我们所不知道,正向所有编程人员一样,我们是边学边作,而且书写代码的速度要很快,因为一个项目不应该在书写代码的方面浪费时间,在这期间很训练人,因为每天写代码时,都写的一身热汗,着急呀!可是当完成每天的任务,而多完成时有很大的成就感了,这当然是一个心里成就了,因为我暂时还没有写完这个程序了。说真的,我写完这个图书信息管理系统时,真的感觉很累了,不过又很轻松了,因为终于完成了,不过在看了其他同学设计的程序时,心里也感到众多不足,因为我们设计的程序,在判断某些输入资料时,总是不严谨,可能给日后用户带来很多不方便,而且在日后的维护工作会很大,这样的程序,作为一个日后的程序员是不应该出现的。
其中,对了SQL语言的使用是相当的重要的,因为没有了SQL语言的支持,对数据库表的操作,是根本无法实现的,对数据的增加、删除、修改,都是一样的。发现对于软件来说,对数据库的操作是至关重要的,因为有很多软件都是这样的,无论是什么都要对数据进行操作,统计、分类、查询、修改、删除等,而正因为这样,我在开始写程序时的SQL基础不好,所以出现在众多难题,而翻书查寻便是经常事情了,因为知识用到时方恨少了,其实我感觉用JAVA设计图形界面,是很费劲的,嗯„„用它作手机游戏看起来还不错,或者用它络B/S、都是很好的,因为它就是为了络而生的。总的来说,对于开展这样的实用型项目,我个人认为是非常重要的,这种实训突破了以前我的思维模式和惯性作法,以前对于程序来说,一开始就制作从来也不计划,如果遇到了与想象中的不一样的难题,就把这部分删除掉,最近制作出来的程序,往往是功能不完善、功能不明确,没有具体的规划和文档,到最后让别人很难理解,自已也是很难弄明白。没有一个良好的程序设计思想,当然了学习项目实战后,丢掉了那样坏毛病,建立了良好的设计思想和编程过程。有很多不理解现在变成了现在的理解感谢,因为往往一些正确的思想,总是一开始不被人接受,而到最近时才会被理解认同,我也这样认为了。
通过这次的训练,掌握运用了java程序设计的一些思想,了解了Java面向对象程序设计的基础知识,熟练掌握了Java中常用的Swing组件的使用方法以及Java程序中图形用户界面设计的方法、使用JDBC操作数据库的方法。初步了解了如何将复杂的问题层层分析成较小的子问题,实现Java编程的实际操作,掌握如何运用Java解决一些常见的编程问题,并学会、掌握分析解决问题的方法,并运用Java的程序结合自己对Java程序的初步认识与理解进行对照,查找自己与Java程序设计的偏差与不足之处,培养自己Java的思维。
本次实训项目通过分析并实现了图书管理系统。本系统的设计让大家了解如何根据实际问题,分析功能需求,将复杂的问题分析成子问题,达到模块化设计系统功能的目标。同时,可以利用这种方法制作通讯录管理、课程管理、工资管理、图书管理等小型管理系统,此外,此次实训培养了我们java 的思维能力,让我们对java有了更深层次的学习与理解,通过两周的实训可以去解决一些简单的编程问题,并对其出现的错误能以与改正和讨论同时,也对以前自己朦胧而不解的问题有了很好的理解,也知道了一些贵重的资料为何要施加密码,如银行卡。对java的理论有了更深的理解,同时也可以运用本次的实训设置一些简单的系统,总之,我们从这次的实训中受益匪浅,我对这次实训还是比较满意的,它使我学到了很多东西、学到了更深刻的知识,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!漫漫长路任我行,我需踏实脚下的路,一步步的前行。用现在的付出和汗水去勾画未来美好的明天。
最后,在侯老师的细心辅导下,我有了很大的进步,知识得到了扩充,认识得到了加深,也使得我的自学能力得到了很大的提高,在此,我向侯老师表示由衷地感谢。
第五篇:JAVA高级软件开发工程师岗位职责(推荐)
1.参与项目的需求分析,负责项目的架构设计、模块设计和开发。
2.负责指导软件工程师详细设计和开发。
3.负责解决项目中的技术难点和技术把关。
4.协助项目经理做好项目管理。