Maven+SpringMvc+Mybatis+shiro+easyUi框架介绍

更新时间:2023-10-02 00:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

系统架构介绍

1 简介

本项目采用Maven来构建和管理。通过Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行制定。持久层框架用的Mybatis ,支持普通 SQL 查询,存储过程和高级映射。Shrio提供了认证、授权、加密和会话管理等功能。easyUi是一组基于jQuery的UI插件集合,帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。

2 框架及工具介绍

2.1 Maven

Maven是一个项目管理和整合的工具。Maven为开发者提供了一套完整的构建生命周期框架。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。在创建报告、检查、构建和测试自动配置时,Maven可以让开发者的工作变得更简单。

2.1.1 核心概念介绍

2.1.1.1 pom

pom是指project object Model。pom是一个xml,在Maven里为pom.xml。是Maven工作的基础,在执行task或者goal时,Maven会去项目根目录下读取pom.xml获得需要的配置信息。pom文件中包含了项目的信息和Maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等。pom是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的pom需要指定父模块的pom。

pom文件中节点含义如下:

1 project:pom文件的顶级元素;

2 modelVersion:所使用的object model版本,为了确保稳定的使用,这个元素是强制性的。除非Maven开发者升级模板,否则不需要修改;

3 groupId:项目创建团体或组织的唯一标志符,通常是域名倒写,如groupId org.apache.Maven.plugins就是为所有Maven插件预留的;

4 artifactId:项目artifact唯一的基地址名;

5 packaging:打包的方式,如jar、war、ear等等。默认为jar。这个不仅表示项目最终产生何种后缀的文件,也表示build过程使用什么样的lifecycle;

6 version:版本,通常能看见为类似0.0.1-SNAPSHOT,其中SNAPSHOT表示项目开发中,为开发版本;

7 name:项目的展现名,在Maven生成的文档中使用; 8 url:地址,在Maven生成的文档中使用;

9 description:项目的描述,在Maven生成的文档中使用; 10 dependencies:依赖,在子节点dependencies中添加具体依赖的groupId artifactId

和version;

11 build:build配置; 12 parent:父pom;

其中groupId:artifactId:version唯一确定了一个artifact

2.1.1.2 Artifact

一个项目将要产生的文件,可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId:artifactId:version组成的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中。

2.1.1.3 Repositories

Repositories是用来存储Artifact的。如果说我们的项目产生的Artifact是一个个小工具,那么Repositories就是一个仓库,里面有我们自己创建的工具,也可以储存别人造的工具,我们在项目中需要使用某种工具时,在pom中声明dependency,编译代码时就会根据dependency去下载工具(Artifact),供自己使用。对于自己的项目完成后可以通过mvn install命令将项目放到仓库(Repositories)中。

任何一个工具都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,Maven在仓库中的存储路径解读:

1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 \ 转换成 \; example:org.testng --->org/testng

2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng 3.使用version准备路径,将version连接到后面:org/testng/testng/5.8 4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8.jar Maven的仓库只有两大类:1.本地仓库 2.远程仓库:

1 本地仓库,顾名思义,就是Maven在本地存储构件的地方。(注:Maven的本地仓库,在安装Maven后并不会创建,它是在第一次执行Maven命令的时候才被创建。)Maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置。如果要更改Maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于Maven的settings.xml文件中。

更改配置用户范围的本地仓库:先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址

这时候,Maven的本地仓库地址就变成了D:\\tools\\apache-maven-3.2.5\\respo。(注:此时配置的Maven的本地仓库是属于用户范围的。)

2 远程仓库

远程仓库最核心的是中央仓库,中央仓库是默认的远程仓库,Maven在安装的时候,自带的就是中央仓库的配置。在Maven的聚合与继承中我们说过,所有的Maven项目都会继承超级pom,具体的说,包含了下面配置的pom我们就称之为超级pom

中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。

2.1.2 Maven实际应用

2.1.2.1构建maven项目

在eclipse下构建maven项目,该项目由多个子模块组成。 1创建一个父项目

NEW -->project-->maven-->maven Project,点击下一步,进入new maven Project的Select project name and location界面,

什么也不做,直接下一步到Select an Archetype界面。

在这个界面中选择maven-Archetype-site-simple,然后选择下一步,进入选择Enter a group id for the artifact的界面,

在group id 和artifact id中输入你的group和artifact名称。我用的分别是com.ai和MvnTest,选择完成。这时会在eclipse中生成一个项目,项目名是MvnTest。

此时MvnTest的pom文件如下所示:

2 创建子项目

2.1 将项目MvnTest中的src文件删除。(可有可无,主要看个人需要) 2.2 选中项目MvnTest,点击右键,选择NEW -->project-->maven-->maven Module,点击下一步,在出现的界面中输入子模块的名称sMod1,点击下一步,出现Select an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype- webapp(构建web层时使用),然后选择完成,即生成子项目sMod1。

这时MvnTest的pom文件就变成了这样(和上面的比只是多了个modules标签):

本文来源:https://www.bwwdw.com/article/vatd.html

Top