Maven结构,一个父模块 六个子模块 七个pom.xml;

\git\renren-security\pom.xml

    

    <modules>
<module>renren-common</module> <!-- 公共模块 -->
<module>renren-shiro</module> <!-- 权限系统模块 -->
<module>renren-schedule</module> <!-- 定时任务模块 -->
<module>renren-gen</module> <!-- 代码生成器模块 -->
<module>renren-api</module> <!-- API模块 -->
<module>renren-web</module> <!-- 管理后台模块 -->
</modules>

<properties>  //定义各jar包的  版本号,被用来引用,

<properties>

    <properties>
<renren-version>2.0.0</renren-version>
<java-version>1.7</java-version>
<servlet-version>3.1.0</servlet-version>
<junit-version>4.12</junit-version>
<springframework-version>4.3.7.RELEASE</springframework-version>
<mybatis-version>3.4.1</mybatis-version>
<mybatis-spring-version>1.3.0</mybatis-spring-version>
<mysql-version>5.1.38</mysql-version>
<hibernate-validator-version>5.4.1.Final</hibernate-validator-version>
<druid-version>1.0.28</druid-version>
<commons-lang-version>2.6</commons-lang-version>
<commons-fileupload-version>1.3.1</commons-fileupload-version>
<commons-io-version>2.5</commons-io-version>
<commons-codec-version>1.10</commons-codec-version>
<commons-configuration-version>1.10</commons-configuration-version>
<slf4j-version>1.7.19</slf4j-version>
<log4j-version>1.2.17</log4j-version>
<fastjson-version>1.2.30</fastjson-version>
<shiro-version>1.3.2</shiro-version>
<kaptcha-version>0.0.9</kaptcha-version>
<velocity-version>1.7</velocity-version>
<velocity-tools-version>2.0</velocity-tools-version>
<jstl-version>1.2</jstl-version>
<taglibs-version>1.1.2</taglibs-version>
<freemarker-version>2.3.23</freemarker-version>
</properties>

排除传递依赖:  exclusions

        <dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>${velocity-tools-version}</version>
<exclusions>
<exclusion> //这里就是排除传递依赖
<artifactId>dom4j</artifactId>
<groupId>dom4j</groupId>
</exclusion>

git\renren-security\renren-web:

pom.xml:

  

  上图说得很明白: 父模块,项目名称,打包方式war表面是一个web模块,依赖于5个子模块,为什么要定义build finalName  renren-security ??

/renren-web/src/main/resources/spring-mvc.xml

    <context:component-scan base-package="io.renren" /> //扫描包,有什么用不记得了??
<context:annotation-config />
<mvc:default-servlet-handler />
<aop:aspectj-autoproxy proxy-target-class="true" />
<mvc:annotation-driven> //注解驱动
<mvc:message-converters register-defaults="true">
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> //Json解析器

git/renren-security/renren-shiro/pom.xml

  

  上面 说明了,父模块是谁,模块名称,打包方式,依赖哪个模块

/renren-shiro/src/main/resources/renren-shiro.xml

    

/renren-common/pom.xml

     ==》pom.xml 

  /renren-common/src/main/resources/mybatis.xml 里面只配置了 <setting name="mapUnderscoreToCamelCase" value="true" /> 不确定作用???

  /renren-common/src/main/resources/spring-jdbc.xml 很多配置,里面很多都不确定作用?

  

    <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
<property name="patterns">
<list>
<value>io.renren.controller.*</value>
<value>io.renren.service.*</value>
</list>
</property>
</bean>
<aop:config>
<aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut"/>
</aop:config>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="io.renren.dao" />
</bean>

其它模块的配置文件 在此不说明了,

renren-security旧版本 分模块 的模块之间关系浅析的更多相关文章

  1. python27期day15:自定义模块、模块导入、模块的路径、模块的查找顺序、time、datetime、random、os、sys、作业题

    1.模块的介绍: py文件就是一个模块 2.模块的分类:内置模块:python标准库 200 第三方模块 自定义模块 3.为什么学习模块? 开发效率高,内置函数和模块 减少重复代码,分文件管理,有助于 ...

  2. 递归&时间模块&os模块

    递归 递归调用 一个函数,调用了自身,称为递归调用 递归函数:一个会调用自身的函数称为递归函数 凡是循环能干的事,递归都能干 方式: 写出临界条件 找这一次和上一次的关系 假设当前函数已经能用,调用自 ...

  3. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

  4. 浅谈 angular新旧版本问题

    一直在学习angularJs,之前用的版本比较老,前些天更新了一下angularJs的版本,然后发现了一些问题,希望和大家分享一下. 在老的版本里控制器直接用函数定义就可以 比如: 在angularJ ...

  5. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  6. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  7. subprocess模块 sys模块

    常用模块学习—subprocess模块详解 要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用 ...

  8. 4-24日 collections模块 random模块 time模块 sys模块 os模块

    1, collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdi ...

  9. python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)

    一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...

随机推荐

  1. spring MVC 如何接收前台传入的JSON对象数组并处理

    spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json  即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...

  2. js怎么获取微信浏览器内容的高度

    通过window对象来得到窗口相关的内外款高度信息,如下: outerHeight属性设置或返回一个窗口的外部高度,包括所有界面元素(如工具栏/滚动条).outerWidth属性设置或返回窗口的外部宽 ...

  3. c#文件管理

    Directory类-------目录管理 Directory.CreateDirectory(_Path); bool IsExit=Directory.Exists(_Path); Directo ...

  4. java虚拟机的内存模型

    一.为什么要了解java虚拟机的内存模型 java虚拟机作为java代码运行的平台,是java技术的基石.了解java虚拟机的内存模型也就变得十分必要.它能帮助我们更好的了解java代码的运行机制,更 ...

  5. R语言学习网址

    1. https://www.r-bloggers.com/ 2. https://www.kaggle.com/datasets 3. RStudio download: https://www.r ...

  6. VSCode 配置

    官网 https://code.visualstudio.com/ 便携化 Windows,Linux 在 Code.exe 所在目录创建 data 目录 macOS 在 Code.exe 所在目录创 ...

  7. scrapy中的xpath用法和css的用法

    css 不包含那个类 response.css(".list-left dd:not(.page)") 获取属性和文本 img.css("a::text").e ...

  8. lnk快捷方式变记事本打开还原,桌面图标变lnk还原方法

    今天天碰到一坑爹问题,打开一个.ini文件自动设置用记事本打开,所有快捷方式都变成记事本打开了,如下图,网上找了一些方法. windows中LNK文件打开方式恢复 相信有些用户曾试过错误地把LNK文件 ...

  9. UEditor js动态创建和textarea中渲染【原】

    UEditor动态创建和textarea中渲染 http://ueditor.baidu.com/website/examples/textareaDemo.html <!DOCTYPE> ...

  10. ACM-ICPC 2018 焦作赛区网络预赛 G Give Candies(高精度求余)

    https://nanti.jisuanke.com/t/31716 题意 n颗糖果n个人,按顺序给每个人任意数目(至少一个)糖果,问分配方案有多少. 分析 插板法或者暴力打表后发现答案就为2^(n- ...