本课程为本人公司内部培训课程,因个人技能、表达能力有限,如有描述错误或不清楚的地方欢迎大家指正。
本课主旨
本节课程主要目的为了解常用JAVA插件罗列,SpringMVC+Mybatis框架结构说明。如需了解开
发环境搭建
开发环境搭建此处不在赘述,有不明白的请移步:基于IDEA的JavaWeb开发环境搭建
JAVA常用插件清单(持续更新中)
JAVA是一款开源的开发语言,所以在JAVA的演化过程中,各个国家的各种大神都对JAVA青睐有佳。因这些大神的支持JAVA的第三方插件(库/JAR包)也层出不穷各式各样。在我们编写JAVA过程中也给我们带来了很大的便利,所以在做JAVA开发时适当了解一些常用的JAVA插件能大大的减少我们的开发量。下来是本人汇总的部分常用JAVA库/JAR包(持续更新,欢迎大家补充)
分类 | 插件名称 | 说明 | 备注 |
---|---|---|---|
Spring | org.springframework.* | spring框架基础包 | |
权限 | org.apache.shiro.* | 用户身份权限公里工具 | 登录,请求等身份验证 |
通信 | org.apache.cxf.* | 可嵌入的Web服务组件 | 构建Web Service的首选类库 |
通信 | com.sun.mail | 电子邮件管理 | |
通信 | Apache ActiveMQ | 管道式1对1消息推送 | 类似WebService需部署ActiveMQ单独系统 |
通信 | Motan | 服务治理型框架(RPC框架) | 新浪开源的一个RPC框架,可以看做是Dubbo的量身裁剪版 |
应用协调 | ZooKeeper | 分布式应用程序协调服务 | 配置维护、域名服务、分布式同步、组服务 |
日志 | org.apache.logging.log4j | 系统日志管理 | |
数据库 | mysql-connector-java.5.1.7-bin | MYSQL数据库操作 | Tomcat/lib/文件需添加 |
数据库 | org.mybatis.* | Mybatis框架基础包 | |
数据库 | org.hibernate.* | hibernate数据库操作基础包 | |
工作流 | org.activiti.* | activiti工作流引擎基础包 | 支持可视化流程模版绘制 |
常用类型 | xml-apis | XML解析操作工具类 | |
常用类型 | org.freemarker | 文本替换绑定类似JSP(${}) | 常用公告绑定,文件内容自动生成,需FTL格式模版支持 |
其他 | org.apache.poi.* | Microsoft Office格式档案读和写 | |
其他 | org.apache.commons.* | JAVA组建库 | 可重用工具类库 |
SpringMVC、Mybatis
- spring MVC
- 理解:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
- 框架:通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。
- 优点:Lifecycle for overriding binding,validation,etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比struts所具有的优势。而且框架本身有代码,看起来容易理解。
- Mybatis
- 理解:MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
- 基本信息:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
- 特点
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
- 解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。
- 总体流程
- 加载配置并初始化
- 触发条件:加载配置文件
- 处理过程:将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
- 接收调用请求
- 触发条件:调用Mybatis提供的API
- 传入参数:为SQL的ID和传入参数对象
- 处理过程:将请求传递给下层的请求处理层进行处理。
- 处理操作请求
- 触发条件:API接口层传递请求过来
- 传入参数:为SQL的ID和传入参数对象
- 处理过程:
- (A)根据SQL的ID查找对应的MappedStatement对象。
- (B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
- (C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
- (D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
- (E)释放连接资源。
- 返回处理结果将最终的处理结果返回。
- 加载配置并初始化
SpringMVC+Mybatis项目目录结构图(个人整理转载注明出处)
以上就是第一节课的内容,主要是SpringMVC+Mybatis项目目录结构组成。如果图片无法查看全请点击或者直接跳转连接:https://img-blog.csdn.net/20180131141048226?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM1Nzg4MzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast 请大家关注下一课。