JAVA高级程序员培训大纲(一)大纲目标JAVA培训包括基础内容讲解、重点内容练习、实战项目训练等内容,让学员由表及里、由浅入深的掌握JAVA编程的各个重要环节,为学员走上工作岗位奠定扎实基础和经验。初级部分通过一个基于Swing的GUI系统(Swing、DataBase、Thread、Socket)掌握J2SE编程和面向对象的重要概念,重点突出SwingGUI编程的各个方面,并为各种JAVA高级编程准备基本理论和实践能力。中级部分通过完成一个基于J2EE架构、Web界面、多层结构(Browser、WebContainer、J2EEServer、Database)的具体实例项目的分析、设计和开发、发布,熟练掌握Struts(MVC)架构、动态Web应用等Java大型软件项目过程中所需要的软件技术并熟悉软件项目的设计规范、开发流程、项目管理等。可选课程部分特别针对当今最新适用的框架,根据不同企业对框架组合要求而设计,目的是适应近可能多的特定企业新技术需求,主要的可选内容包括:Oracle数据库进、Hibernate、Spring、EJB3.0、Tapestry等。基于Linux系统的Java开发,包括Linux基础、Oracle10g应用、基于Linux的项目开发实训等内容,在项目实践中学员可以依据可选课程授课内容使用不同的开发技术和框架实施。(二)理论教学内容第一阶段:JAVA学习基础目标:掌握学学习JAVA所必须的基本功,能够使用以上技术进行基于MVC模式的Web开发(M---JavaBean,V---JSP,C---Control)1)J2EE体系概述C/S架构多层架构Java运行机制多层架构中组件的功能Java的核心技术2)J2SE面向对象技术Java程序运行机制开发环境的安装和配置Java语言基础和重点APIJava程序异常的处理I/O、控制台程序开发Swing程序开发Swing组件详述JavaApplet多线程编程网络编程第二阶段:JAVA开发目的:学习JAVA所必须的种种基本技能。达到能够独立的完成嵌入式开发的基本要求。为参加项目实战作准备。3)Java数据库编程(JDBC)JDBC应用接口(API)Statement、PrepareStatement、CallableStatementResultSet事务处理和Batch处理JDBC2.0和3.0新技术、RowSet数据连接池技术4Tomcat服务器的环境及配置JavaServerPages(JSP)技术Servlet技术JavaBean技术应用发布和数据源配置5MVC架构Struts配置ActionServletActionFormActionStruts标签库DynamicFormValidateFrameWork6XML语法规范DOM和SAX解析方式XSL、XSLTJDOMJAXP解析实践7Linux简介Linux安装常用命令Shell编程Vi/Vim编辑器的使用Linux常规配置8)JavaonLinuxLinux下Jdk配置命令行编译ant工具的使用Tomcat在Linux下的配置和编程Linux下的数据库系统(mysql、postgresql、oracle)Weblogic在Linux系统下的一般配置和应用发布9)Hibernate(可选)对象持久化技术概述实现持久化技术的多种模式概述(ORM、JDO、CMP、主动域对象模型…..)对象和关系数据库之间的映射原理HibernateAPI的详细介绍,包括核心接口(Configuration、SessionFactory、Session、Query、Criteria)、回调接口(Interceptors)、映射接口(Type)、可扩展接口(Dialect、ConnectionProvider)以及hibernate.cfg.xml(配置文件)、xxx.chm.xml(映射文件)Hibernate的体系结构以及简单应用,介绍Hibernate的使用步骤及详细动作Hibernate的各种配置文件的编写、使用(核心配置、映射配置、各种DTD文件)Hibernate-Java-SQL之间的数据类型映射在Hibernate中持久化类(POLO)属性的管理、持久化对象ID(OID)的生成(6种生成方式)、类映射关系的类型(一对多单(双)向关联、多对一单(双)向关联等、继承映射、集合映射)、级联保存删除等Hibernate查询语言(HQL)、QBC语言,日志服务器Log4jHibernate拦截器(Interceptors)与事件(LoadEvent、FlushEvent)Hibernate的缓存机制原理介绍(一级缓存、二级缓存)Hibernate核心源码的分析以及扩展10)Spring(可选)Spring诞生的背景,Spring的概述Spring框架的组成结构介绍(ApplicationContextmodule、JDBC&DAOmodule、AOPmodule、ORMmodule、Webmvcmodule)IoC(反向控制)设计模式的基本原理以及在Spring中的简单应用AOP(面向切面编程)技术的基本原理以及在Spring中的简单应用使用Spring的BeanFactory容器(XmlBeanFactor等)、ApplicationContext容器(ClassPathXmlApplicationContext等)结合上下文定义文件(xml或.properties)装配Bean(分为自动、手动装配),掌握实现IoC的几种方式。掌握各种容器的方法使用、上下文定义文件中Bean的配置,多个配置文件的使用。Spring的特殊Bean的功能及使用在Spring中的AOP的具体实现,包括各种通知、引入的创建,动态、静态切入点的使用,Advisor的功能掌握,代理对象的创建使用Spring的DAO&JDBCmodule的实现数据持久化,包括在Spring中数据源的创建、JDBC模版类的使用Spring与各种ORM的整合(包括Hibernate、JDO等)Spring中的事务管理(编写、声明事务)Spring与RMI的整合、Spring中访问JNDI服务、在Spring中使用JavaMail、调度任务、Spring与JMS的整合掌握Spring的WebMVCmoduleAPI及运用11)EJB3.0(可选)EJB3.0开发运行环境配置Jboss详细介绍会话Bean的开发:STATELESSSESSIONBEANS(无状态BEAN)STATEFULSESSIONBEANS(有状态BEAN)开发STATELESSSESSIONBEAN与STATEFULSESSIONBEAN的区别.依赖注入(DEPENDENCYINJECTION)定时服务(TIMERSERVICE)安全服务(SECURITYSERVICE)消息驱动BEAN(MESSAGEDRIVENBEAN)开发实体BEAN(ENTITYBEAN)开发ENTITY的生命周期和状态实体BEAN的组成文件的配置JBOSS数据源的配置组合主键单表映射的实体关系对象映射一对多及多对一映射一对一映射多对多映射参数查询语言EJB3.0QL12)Tapestry(可选)Tapestry简介Tapestry配置Form组件Form校验高级Form组件模板组件Tapestry与其它框架的结合第三阶段:项目实战目的:通过几个实际的项目开发。来获得实际的项目开发经验。满足企业的要求。(三)公共教学内容1)数据库课程关系型数据库原理SQL数据查询语言(DMLDDLDCL)索引存储过程触发器游标事务函数2)软件工程课程面向对象(OO)的分析和设计(OOA&OOD)统一建模语言(UML)CMM基本概述、模型、实施。软件工程概述软件工程生命周期模型3)就业训练课就业心态训练简历写作技巧企业人才需求介绍面试技巧训练(常见问题的应答)模拟技术面试训练(项目阐述)模拟综合面试训练(四)项目实战概述项目实战课程主要侧重学员的自己动手能力。每个项目实战包括组建项目组,选举项目经理,开发经理,系统架构师,系统配置员,系统测试员的过程,有中心相关教师和用人企业项目经理组成项目评审委员会,严格按项目计划执行,每一个里程碑要严格按照软件工程规范输出相应文档并由项目评审小组给出成绩。即时通讯软件项目类型基于C/S架构操作系统WindowsXP开发工具JAVA数据库服务器SQLServer2000/Oracledb10g使用技术WindowsAPI,CSocket,多线程,数据结构,ADO等项目背景现在聊天工具很多,尤其以QQ,ICQ,MSN等最为流行,已经成为网上交流的主要工具,可见信息的交流是人类社会发展的催化剂,所以我们要做一个基于网络的即时通讯软件,以方便公司内部员工之间,朋友之间的安全交流功能需求描述客户端:注册登陆判断可以显示在线用户可以发送图片和文件可以保存聊天记录(保存到文件里)删除好友查找好友添加好友服务器端:接受每个用户的信息进行判断通过号码来区别每个用户把新用户的信息保存到数据库里能够处理客户端发来的各种信息能够处理用户和好友的关系能给在线用户发送新闻信息等系统的设计客户端:登陆界面设计注册界面设计聊天界面设计查找好友界面设计等服务器端:数据库的设计接受信息模块发送信息模块管理所有用户信息的界面(增,删,改,查等)要求及目标重点掌握WindowsSocket的原理,常用方法,客户端与服务器之间的通信方式;掌握线程的原理,线程的生命周期,线程同步,多线程对共享资源访问的控制;掌握ADO基本编程步骤,实现简单的数据库操作;掌握MFC常见消息映射实现,系统托盘图标显示、隐藏控制,界面控件状态控制;锻炼团队合作精神,掌握软件开发的基本流程;FTP服务器项目类型基于C/S架构操作系统WindowsXP/RedHatLinux9开发工具JAVA数据库服务器MySQL使用技术网络编程,多线程等项目背景根据项目的需要,有的时候需要在不同操作系统运行不同的软件组件,并通过网络协调个组件之间的正常运作。在Internet网上直接传输文件是一个很普遍的用户需求。系统分为服务器和客客户端。可以传输任意类型的文件和任意大小的文件,并且提供特(待)传文件和已传文件的管理功能。功能需求描述在linux环境下启动FTP服务器,在另一台计算机上使用FTP工具,下载指定文件。系统的设计文件传输服务器模块文件传输客户端功能文件界面管理功能文件通信和拆分管理模块要求及目标重点掌握WindowsSocket的原理,常用方法,客户端与服务器之间的通信方式;掌握线程的原理,线程的生命周期,线程同步,多线程对共享资源访问的控制;掌握Linux下MySQL简单的数据库访问操作,熟悉gcc,g++,makefile的使用;掌握MFC常见消息映射实现,系统托盘图标显示、隐藏控制,界面控件状态控制;锻炼团队合作精神,掌握软件开发的基本流程;固定资产管理系统项目类型数据库、ADO编程技术训练操作系统WindowsXP开发工具Eclipse(MyEclispe)EditplusDreamweaver,数据库服务器SQLServer2000/Oracledb10g使用技术ADO编、MFC常见类、ListControl等常见控件编程技术等项目背景随着XXX公司越做越大,公司的资产(固定资产,移动资产等)就需要对资产进行有效的管理,同时也为了积极响应办公自动化。所以我们为XXX公司做一个资产管理系统。需求描述系统登录用户登录用户密码更改固定资产增加管理资产录入资产变动管理资产处置管理资产状态修改日志记录资产清查管理统计视图显示视图编辑数据导出查询分类查询显示视图编辑数据导出用户权限管理用户增加用户减少用户权限修改日志管理分类查询数据导出资产分类管理资产类别增加资产类别减少资产类别修改资产负责人管理查看资产负责人资产负责人增加资产负责人减少资产负责人修改存放地点管理存放地点增加存放地点减少存放地点修改资产数据库备份管理资产数据库备份资产数据库恢复备份系统的设