1Maven介绍
1.1项目开发中遇到的问题
1、都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?
2、为什么在我的机器上可以正常打包,而配置管理员却打不出来?
3、项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了。
4、我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?
5、这是我开发的第二个项目,还是需要上面的那些jar包,再把它们复制到我当前项目的svn库里吧
6、现在是第三次,再复制一次吧 ----- 这样真的好吗?
7、我写了一个数据库相关的通用类,并且推荐给了其他项目组,现在已经有五个项目组在使用它了,今天我发现了一个bug,并修正了它,我会把jar包通过邮件发给其他项目组
-----这不是一个好的分发机制,太多的环节可能导致出现bug
8、项目进入测试阶段,每天都要向测试服务器部署一版。每次都手动部署,太麻烦了。
1.2什么是maven
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
Maven主要有两个功能:
- 项目构建
- 依赖管理
1.3项目构建的方式
1、Eclipse手工操作较多,项目的构建过程都是独立的,很难一步完成。比如:编译、测试、部署等。
开发时每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错
2、Ant
Ant只是一个项目构建工具,它没有集成依赖管理。
Ant在进行项目构建时,它没有对项目目录结构进行约定,需要手动指定源文件、类文件等目录地址。同时它执行task时,需要显示指定依赖的task,这样会造成大量的代码重复。
3、Maven
Maven不仅是一个项目构建工具,更是一个项目管理工具。它在项目构建工程中,比ant更全面,更灵活。
Maven在进行项目构建时,它对项目目录结构拥有约定,知道你的源代码在哪里,类文件应该放到哪里去。
它拥有生命周期的概念,maven的生命周期是有顺序的,在执行后面的生命周期的任务时,不需要显示的配置前面任务的生命周期。例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
2 善知教育Java课程
第一阶段(JavaSE阶段)课题 | 内容 | 课题目标 |
1.Java语法基础 | 搭建环境,JDK安装,环境变量配置 | (1)能够掌握DOS系统常用基本命令; (2)熟练使用eclipse编写java代码; (3)熟练使用java语言的常用对象; (4)使用java编写单机应用程序; (5)掌握面向对象编程思想,为以后深入学习JavaEE就业课程打下坚实的基础。 |
java中的8种基本数据类型 | ||
标识符命名规则,转义字符 各种运算符 | ||
if..else分支语句 | ||
switch..case分支语句 | ||
While do..while循环 | ||
for循环,增强for循环 | ||
break continue | ||
数组 ,多维数组 | ||
冒泡排序 | ||
2.Java面向对象 | 初步认知面向对象,类和对象概念 | (1)掌握常用数据结构和算法; (2)熟练使用java语言的常用对象; (3)使用java编写单机应用程序; (4)掌握面向对象编程思想,为以后深入学习JavaWEB课程打下坚实的基础。 。 |
面向对象特性:封装、继承、多态等 | ||
修饰符使用 | ||
构造器 | ||
方法重载 | ||
This,super关键字 |
课题 | 内容 | 课题目标 |
| 引用传递 | |
String类的用法 | ||
递归用法 | ||
代码块 | ||
可变参数 | ||
final 关键字 | ||
Object类 | ||
内部类 | ||
Java常用工具类: Arrays Math Random StringBuffer StringBuilder Date SimpleDateFormat Calendar 比较器 克隆 | ||
3.JavaIO体系 | File类常用操作方法 | 掌握JavaIO体系,学会数据读写 |
演示递归删除 | ||
演示文件拷贝,切割,合并 |
课题 | 内容 | 课题目标 |
| Reader-->InputStreamReader-->FileReade | |
Writer-->OutputStreamWriter-->FileWriter | ||
PrintStream PrintWriter | ||
缓冲流: BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream | ||
序列化: ObjectOutputStream ObjectInputStream | ||
RandomAccessFile | ||
字符编码及乱码处理 | ||
装饰者模式 | ||
内存流: ByteArrayInputStream ByteArrayOutputStream 输入输出重定向 Scanner用法 | ||
4.Java集合体系 | List集合 | 掌握Java集合体系,学会数据存储和快捷操作 |
Set集合 | ||
Map集合 | ||
课题 | 内容 | 课题目标 |
5.Java多线程体系 | 创建线程2种方式 | 掌握Java多线程体系,学会数多线程编程及异步安全处理 |
线程生命周期 | ||
终止线程 | ||
线程操作方法 | ||
线程同步3种方式,死锁 | ||
线程通信 | ||
6.Java网络体系 | 网络基本概念:服务器,客户端,IP地址,端口号等 | 掌握Java网络编程体系,掌握长连接数据通信机制 |
Socket类使用 服务器和客户端数据交互 | ||
服务器端结合多线程使用 | ||
演示聊天室 |
第二阶段(JavaWeb阶段)
课题 | 内容 | 课题目标 |
| HTML5技术 | (1)运用常用的网页开发技术设计网页; (2)掌握WEB系统交互原理; (3)掌握JavaWeb开发核心技术; (4)运用JavaWeb核心技术完成简单功能实现; (5)掌握JavaWeb高级技术,创建更好的Web应用程序; (6)具备B/S结构软件开发能力。 |
CSS及CSS3技术 | ||
Javascript技术 | ||
jQuery框架 | ||
2. 数据库技术 | 数据库概念 | |
SQL基础和表约束 | ||
数据库DDL DCL DML DQL 语句 | ||
索引与视图 | ||
事务和常用函数 | ||
多表连接和子查询. | ||
数据库设计 | ||
存储过程和函数,触发器 | ||
| Tomcat部署配置 | |
请求与响应 | ||
相对路径与绝对路径 | ||
Cookie与session |
课题 | 内容 | 课题目标 |
| Listener与Filter | (1)运用常用的网页开发技术设计网页; (2)掌握WEB系统交互原理; (3)掌握JavaWeb开发核心技术; (4)运用JavaWeb核心技术完成简单功能实现; (5)掌握JavaWeb高级技术,创建更好的Web应用程序; (6)具备B/S结构软件开发能力。 |
文件上传与下载 | ||
验证码 | ||
虚拟主机技术 | ||
中文乱码处理 | ||
JSTL 和EL 表 达 式 | ||
4. Ajax技术 | Ajax设计模式 | |
Aax基础 | ||
XHR对象 | ||
5.Ngin与服务器集群技术 | Nginx概述 | |
LNMP的安装与配置 | ||
缓存设置 | ||
压缩设置 | ||
负载均衡 | ||
6.JDBC技术 | JDBC核心理念 | |
Connection、Statement、ResultSet | ||
缓存技术 |
课题 | 内容 | 课题目标 |
批处理技术 | ||
连接池技术 | ||
7.XML技术 | XML语法 | |
XML解析(SAX、DOM) | ||
Dom4j组件 | ||
Digester组件。 |
第三阶段(SSH三大框架)
课题 | 内容 | 课题目标 |
Spring框架 | Spring 配置 | |
IoC思想、DI依赖注入 | ||
使用AspectJ切面编程 | ||
JdbcTemplate模板使用 | ||
声明式事务管理 | ||
Ioc注入技巧 | ||
课题 | 内容 | 课题目标 |
Hibernate | hbm.xml映射文件详解 | (1)掌握SSH框架,使用SSH框架开发出结构清晰、可复用性好、维护方便的Web应用程序; (2)掌握如何使用Maven管理项目工程; (3)掌握Oracle数据库的相关技术; (4)掌握系统开发中的性能、可扩展性及维护性的提升; (5)通过项目实战熟练掌握SSH框架的使用; (6)掌握Apache poi实现数据导入导出; (7)掌握图形报表的生成技术,如JfreeChart、HighChart、AmChart; (8)掌握Jquery Easy UI框架; (9)掌握Apache Shiro技术; (10)掌握BRAC认证模型,有效进行用户权限管理; (11)积累JavaEE企业应用开发经验。 |
PO对象状态及状态的转换分析 | ||
Hibernate高级映射技术 | ||
Hibernate数据检索技术 | ||
Hibernate性能优化技术 | ||
Myabits配置 | ||
hibernate.cfg.xml配置 | ||
Struts2框架 | struts.xml详解及使用; | |
使用通配符定义action,动态方法调用 | ||
ActionContext及ServletActionContext使用 | ||
模型驱动ModelDriven、属性驱动; | ||
.默认拦截器分析、自定义拦截器 | ||
OGNL表达式、值栈ValueStack分析 | ||
mybatis框架 | mybatis框架原理 | |
mybatis入门案例 | ||
mybatis开发DAO方式 | ||
mybatis输入输出映射 | ||
动态sql |
课题 | 内容 | 课题目标 |
spring整合mybatis | (1)熟练使用SSM框架进行基本功能开发; (2)掌握Lucene\Solr全文检索解决方案; (3)掌握非关系型数据库Redis; (4)掌握富文本编辑器KindEditor; (5)掌握Freemarker模板引擎; (6)掌握Nginx反向代理; (7)掌握dubbo分布式调用技术; (8)掌握zookeeper分布式应用协调服务; (9)积累互联网电商项目开发经验。 | |
springmvc框架 | springmvc框架原理 | |
springmvc入门案例; | ||
springmvc整合mybatis; | ||
参数绑定; | ||
json数据交互; | ||
拦截器 | ||
Lucene、solr框架 | 什么是全文检索; | |
Lucene实现全文检索; | ||
Analyzer分析器; | ||
索引维护; | ||
solr安装配置; | ||
solr索引、solr搜索、SolrJ | ||
Maven系统 | maven介绍 | |
maven安装 | ||
maven的入门程序 | ||
maven仓库 |
课题 | 内容 | 课题目标 |
项目构建 | ||
依赖管理 | ||
maven综合案例 | ||
maven的私服 |
第四阶段(JavaEE企业级项目)
课题 | 内容 | 课题目标 |
项目一 | NOC新闻发布系统 | (1)熟练使用SSM框架进行基本功能开发; (2)熟练整合SSH框架 (3)在项目实战中熟练之前全部技术 (4)在项目实战中建立深入的变成理念验 |
项目二 | NOC在线竞赛平台统 | |
项目三 | 科技部办公自动化系统 | |
项目四 | 国务院法制办法规目录管理系统 | |
项目五 | 大型B2C电商平台 | |
第五阶段(大数据部分)
课题 | 内容 | 课题目标 |
Hadoop部分 | hadoop 基本搭建,单机,集群 | (1)熟练使用hadoop框架进行基本功能开发; (2)熟练整合sqoop和fume框架 (3)熟练MapReduce通用并行框架 (4)熟悉各种大数据分析引擎 |
java通信MapReduce | ||
文件上传HDFS | ||
MR核心编程 | ||
sqoop flume | 导入HDFS | |
导出MySQL | ||
做相当一个量级的数据交互,迁移电商产品库数据 | ||
到HDFS | ||
Spark,ignite,flink | Hadoop MapReduce的通用并行框架 | |
大数据集中执行事务和计算 | ||
大数据分析引擎,Java,Scala API,Flink实战——wordcount |
3 善知官网
www.itszt.com