zoukankan      html  css  js  c++  java
  • ITOO之底层关系


    一、pom.xml文件关系图:

    以基础系统中学生这条线为例:


    图一:pom.xml文件关系图

    图说明:

    • 该项目是Maven项目,使用pom.xml文件对项目进行管理

    管理类:(非阴影部分)

    •  Itoo-root(pom.xml)

    整个平台的管理包。主要由两部分构成:管理jar包版本号和maven开发用的插件。Jar包版本号:cas、shiro、mongoDB、log4j的版本号都在这里管理Maven开发的插件:maven编译成ear、maven打包

    • itoo-base-parent(pom.xml)

    管理itoo-tool、itoo-base及一些扩展的公共的jar版本号

    • itoo-tool(pom.xml)

    提供给使用此框架开发的全部系统的工具包:图表、mongodb、转json……如图:

                      

    业务类:(阴影部分)

    • itoo-basic-parent(pom.xml)

    须要继承itoo-root的pom文件;而且统一管理本系统中用到的各个jar的版本号

    • itoo-basic-api(pom.xml)

    本包直接引用itoo-base包。api包依赖itoo项目中的底层包itoo-base

    • itoo-basic-base(pom.xml)

     除继承本项目的parent的pom文件。还须要引用底层itoo-base包

    • itoo-basic- student-core(pom.xml)

    Service层和Eao层开发使用到的依赖。

    比如:itoo-basic-base、itoo-basic-api、itoo-cloud-api的依赖

    • itoo-basic-student-web(pom.xml)

    Web层发使用到的依赖。比如:itoo-basic-api、itoo-easyui、shiro-cas的依赖

    • itoo-basic- student-ear(pom.xml)

    把以下这些jar、war的依赖关系都放到ear的pom.xml中,就能够将以下的jar、war都打到一个ear包内。把相互依赖的关系打到一起,jar之间能够互为调用,用来热部署或者打包。

    • 00-05是先后的依赖顺序。依次部署:

    01--itoo-tool----------平台公共的工具类:

    02--itoo-base---------平台公共的BaseEao,BaseEaoIm实现类

    03--itoo-basic-api-----自己业务的api,层

    04--itoo-basic-core----自己业务的核心包(实现api的接口)

    05--itoo-basic-web-----自己业务的web层

    符号说明:

    • :图一中实线+空三角。表示maven继承。
    • 在pom文件里,用parent节点表示,以itoo-base与itoo-base-parent之间的关系为例。在itoo-base下的pom.xml文件里parent节点的代码例如以下:

    <parent>
    	<artifactId>itoo-base-parent</artifactId>
    	<groupId>com.tgb</groupId>
    	<version>0.0.1-SNAPSHOT</version>
    	<relativePath>../itoo-base-parent/pom.xml</relativePath>
    </parent>
    


    二、包的关系图

    图二:包的关系图

    底层:

    • Itoo-tool:

    供给使用此框架开发的全部系统的工具包:图表、mongodb、转json……包内容:仅仅有pom.xml文件,无详细java代码

    • Itoo-base:

    底层的方法,是从个子模块中抽出来的公共的方法和实体。

    包括:

    • BaseEao/BaseEaoImpl:

    将直接操作数据库层的公共部分抽象出来,即为itoo-base的Eao层

    • BaseBean/BaseBeanImpl:

    将业务逻辑层的公共部分抽象出来,即为itoo-base的Service包

    • BaseEntity:

    将实体中公用的属性提取出来作为公共的实体属性。如:updateTime、createTime……

    •  Baseutiluuid:

    生成uuid的策略。包括32位和64位

    子模块(以基础系统模块为例): 

    • itoo-basic-parent:

    须要继承itoo-root的pom文件;而且统一管理本项目中用到的各个jar的版本号包内容:仅仅有pom.xml文件。无详细java代码

    • itoo-basic-api:

    基础系统的Bean接口和实体以及数据库的持久化文件persistence.xml。当中接口是用来给本系统其它线和其它子模块的Sevice层使用的接口, persistence.xml配置了持久化所需的各种属性,如DataSource.

    • itoo-basic-base:

    基础系统的获取实体管理器(EntityManager)的部分,这里配置了实体单元名称,且与依据itoo-basic-api下的persistence.xml中实体单元名称一致,进而通过persistence.xml的配置进行持久化.

    • itoo-basic- student-core:

    基础系统模块中学生这条线的核心包。存放本条线的Eao、Service层,如:StudentEao、StudentEaoImpl、StudentBeanimpl、too-basic-student-web:

    基础系统模块中学生这条线的web层。包括如:SpringMVC的controller层、SpringMVC的View层(.jsp文件)、 配置文件:web.xml、spring-mvc.xml、jboss-deployment-structure.xml

    符号说明:

    • :图二中虚线+实三角。表示包图依赖。
    • 在pom文件里,用dependency节点表示,以itoo-base与itoo-tool之间的关系为例,在itoo-base下的pom.xml文件里dependency节点的代码例如以下(注意:图二中没有画出对第三方包的引用):

    <dependencies>
    	<!--java的扩展包		第三方的包  -->
    	<dependency>
    		<groupId>javax</groupId>
    		<artifactId>javaee-api</artifactId>
    	</dependency>
    	<!--转json的包		第三方的包  -->
    	<dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
    		<artifactId>jackson-annotations</artifactId>
    	</dependency>
    	<!--hibernate包		第三方的包  -->
    	<dependency>
    		<groupId>org.hibernate</groupId>
    		<artifactId>hibernate-core</artifactId>
    	</dependency>
    	<!--itoo-tool包		本系统的包  -->
    	<dependency>
    		<groupId>com.tgb</groupId>
    		<artifactId>itoo-tool</artifactId>
    		<version>${project.version}</version>
    	</dependency>
    	<!--maven的插件		第三方的包  -->
    	<dependency>
    		<groupId>org.apache.maven.plugins</groupId>
    		<artifactId>maven-javadoc-plugin</artifactId>
    	</dependency>
    	<!--日志log4j		第三方的包  -->
    	<dependency>
    		<groupId>log4j</groupId>
    		<artifactId>log4j</artifactId>
    	</dependency>
    </dependencies>
    

    注意:

    包图中为什么没有ear包:

    八期使用的jboss6没有ear。打包时须要将jar和war分别打包部署。因为我们升级了新的jboss版本号,jar、war分开部署的话,还存在一些问题。我们採用打成EAR包的方式,来公布部署,把我们项目的多个jar,和war包,一次性部署到jboss。从部署上来说提高了部署的效率。开发效率.综上来看:ear是将开发须要的jar和war打包在一起的一个管理工具,所以包图中没有ear包,它不是开发包,是管理包

  • 相关阅读:
    分治
    #include<algorithm>
    c++标准模板库的使用
    mysql_day03
    mysql_day02
    mysql_day01
    mongodb的安装
    迭代器和生成器简单介绍
    File文件操作
    数据类型
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6739710.html
Copyright © 2011-2022 走看看