当前位置: 首页 > news >正文

兴扬汽车网站谁做的大数据营销方案

兴扬汽车网站谁做的,大数据营销方案,网站建设服务器费用,网站开发公司+重庆这里写目录标题1.分模块开发1.1 模块更新后,会造成的影响2.依赖管理2.1 依赖传递2.2 可选依赖(隐藏自己的依赖,不让别人用)2.3 排除依赖(用别人的资源,把不用的去了)3.聚合与继承3.1 为什么要使用聚合工程?3.2 聚合工程开发2.1 聚合工程三级目录1.分模块开发 我们之前做的项目…

这里写目录标题

  • 1.分模块开发
    • 1.1 模块更新后,会造成的影响
  • 2.依赖管理
    • 2.1 依赖传递
    • 2.2 可选依赖(隐藏自己的依赖,不让别人用)
    • 2.3 排除依赖(用别人的资源,把不用的去了)
  • 3.聚合与继承
    • 3.1 为什么要使用聚合工程?
    • 3.2 聚合工程开发
    • 2.1 聚合工程
      • 三级目录

1.分模块开发

    我们之前做的项目,是将功能模块都汇聚到一起,这样会导致项目结构非常庞大,不利于开发人员的维护和开发,我希望是我做这个功能模块,那我就只要关心这个功能模块

一、模块拆分原则

目的:项目的扩展性变强了,方便其他项目引用相同的功能。

在这里插入图片描述
    将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享
在这里插入图片描述
二、 通过maven指令安装模块到本地仓库(install指令)
    我们写到一个功能模块后,使用mvn install命令将功能模块发布到本地仓库中(团队共享的仓库,也被称为私服)

三、 依赖管理

<!--设置当前项目所依赖的所有jar-->
<dependencies><!--设置具体的依赖--><dependency><!--依赖所属群组id--><groupId>org.springframework</groupId><!--依赖所属项目id--><artifactId>spring-webmvc</artifactId><!--依赖版本号--><version>5.2.10.RELEASE</version></dependency>
</dependencies>

1.1 模块更新后,会造成的影响

   举例:例如有controller、service、dao、pojo这四个模块,其中controller依赖service、service依赖dao、dao依赖pojo,那如果我们对pojo这个模块的功能进行修改, 此时启动服务会有哪些影响?

一、回答这个问题前,首先我们明确一点:即服务的启动流程
   无论是普通的main函数,还是通过引导类启动服务,都会先对项目结构进行编译(compile),编译通过,才能启动函数/服务.

   编译时会根据pom.xml文件中的依赖关系,从底层依赖开始编译,此时就会根据pojo的坐标,在本地仓库中找到pojo的jar包,编译通过,继续往上编译,只要当编译全部通过,才会启动服务
在这里插入图片描述


所以我们要清楚

  1. controller中只有service的jar包坐标(非包含service的jar包)
  2. service中只有dao的jar包坐标(非包含dao的jar包)
  3. dao中只有pojo的jar坐标(非包含pojo的jar包)

如果service的jar包包含dao的jar包,就不可能只有3KB

在这里插入图片描述
在这里插入图片描述


二、此时我们可以回答这个问题:
   如果我们修改了pojo模块分为两种情况

  • 情况一:如果pojo类修改了,没有install,此时执行的是修改前的逻辑
  • 情况二:如果pojo类修改了,进行install,此时执行的是修改后的逻辑

  我们只需要对pojo进行install,更新pojo的jar包即可,不用对service和dao的包进行install(因为jar包中只是引用依赖,而非依赖实际存在)

三、特殊情况
   如果我们在同一个project中打开controller、service、dao、pojo,此时当我们修改了pojo中的代码(没有install),并启动项目,此时运行的也是修改后的代码哦!!!
在这里插入图片描述


2.依赖管理

2.1 依赖传递

  • 路径优先: 当依赖中出现相同的资源时, 层级约深, 优先级越低, 层级越浅, 优先级越高
  • 声明优先: 当资源在相同层级被依赖时, 配置顺序靠前的覆盖配置顺序靠后的(非直接依赖)
  • 当同级配置了相同资源的不同版本,后配置的覆盖先配置的(直接依赖)

在这里插入图片描述

2.2 可选依赖(隐藏自己的依赖,不让别人用)

可选依赖指对外隐藏当前所依赖的资源————不透明

<dependency><groupId>com.itheima</groupId><artifactId>maven_03_pojo</artifactId><version>1.0-SNAPSHOT</version><!--可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖传递性--><optional>false</optional>
</dependency>

2.3 排除依赖(用别人的资源,把不用的去了)

  • 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本
  • 排除依赖资源仅指定GA即可,无需指定V
<dependency><groupId>com.itheima</groupId><artifactId>maven_04_dao</artifactId><version>1.0-SNAPSHOT</version><!--排除依赖是隐藏当前资源对应的依赖关系--><exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></exclusion></exclusions>
</dependency>

3.聚合与继承

聚合工程:通常是一个不具有业务功能的”空“工程(有且仅有一个pom文件)

作用:
使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同步构建


3.1 为什么要使用聚合工程?

一、报错提醒
  保证所有的module都在同一个project中,此时修改某一个module中的代码,在其他module中会有提醒
在这里插入图片描述

二、同步构建
  例如service中某个方法新增了一段代码(这种修改不会报错),但是service并没有install.此时我们对最上层的module(此处为controller)进行package,它package的时候是直接拿本地仓库中的service的jar进行package的

解决方式:
通过对聚合工程进行构建,实现对所包含的模块进行同步构建; 即一起compile、一起install、一起package…


3.2 聚合工程开发

一、创建maven模块,设置打包类型为pom

maven_parent为聚合工程,需要将打包方式改为pom
在这里插入图片描述
打包方式为POM标识此项目是聚合工程

<packaging>pom</packaging>

每个maven工程都有对应的打包方式,默认为jar,web工程打包方式为war


二、设置当前聚合工程所包含的子模块名称

<modules><module>../maven_ssm</module><module>../maven_pojo</module><module>../maven_dao</module>
</modules>

2.1 聚合工程

三级目录

http://www.yayakq.cn/news/750401/

相关文章:

  • 合肥网站建设电话找效果图的网站哪个好
  • 郑州高端网站开发怎么做地方门户网站
  • 网站扁平化设计理念网站开发任务概述
  • 网站做tips开发一款交友app要多少钱
  • 怎样凡科建设网站新公司做网站
  • 怎么做网站的用户注册关于电商运营的知识点
  • dw做框架网站下载源代码建网站
  • 注册公司流程步骤重庆seo技术教程博客
  • 电子商务网站建设人才调研阳光保险官方网站
  • 电子商务网站建设与管理案例app软件开发定义
  • 用asp制作一个简单的网站重庆电力公司网站
  • 企业公司网站模板国家企业信用信息公示系统(安徽)
  • 如何做音乐网站沈阳网站开发公司电话
  • 视频主持网站建设科技感的网站
  • 大连网站建设哪家好天津的设计公司
  • 网站负责人半身照阿里云多网站建设
  • 面包机做面包网站室内设计好还是平面设计好
  • 网站建设营销型网站商标怎么设计才好看
  • 盐城网站建设小程序公司闵行广州网站建设
  • 网站怎样盗链图片网站后台建设
  • 如何找人帮我做网站推广官方网站开发公司排名
  • 为什么做网站编辑网站开发模块的需求分析
  • SEO网站建设全方位部署海南门户网站开发公司
  • 网站项目接单免费宣传网站
  • 建设电商网站思想手机端网站开发价格
  • 西安企业建站素材基于html的网站开发
  • 仪征做网站aicjoyngx wordpress 403
  • 临清建网站黔东南网站开发
  • 机电类网站模板大型网站建设价格
  • google网站登陆模板免费静态网站托管平台