关于java下的目录结构规范问题

这里重点是关注src/main/java/下的目录结构问题。现在有2种结构,不知道哪种才是比较符合的。假设一个项目里面有10个左右的大模块为前提。

方案1:先模块,每个模块里面各自有自己的mvc结构文件夹
图片描述

方案2:先mvc结构文件夹,然后再每个模块的业务
图片描述

回答:

方案一更直观

回答:

1、maven分模块
2、微服务
主要是我不知道你想干啥,两种结构都是合理的,不同的区分方式罢了,一个是业务区分,一个是功能区分

回答:

刚体会了一下方案1,发觉这样改之后,mybaits配置文件里,要求指定一个通用前缀的类名来做别名的话,无法实现。。

回答:

第一种方式 mybatis 配置文件实现方式两种:

  1. 可以重写一下 SqlSessionFactoryBean 里面的 setTypeAliasesPackage 这个方法;
  2. 或者所有的别名类扩展自一个基类,在配置文件里面指定一个属性,参见jeesite的配置文件

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

    <property name="dataSource" ref="dataSource"/>

    <property name="typeAliasesPackage" value="com.thinkgem.jeesite"/>

    <property name="typeAliasesSuperType" value="com.thinkgem.jeesite.common.persistence.BaseEntity"/>

    <property name="mapperLocations" value="classpath:/mappings/**/*.xml"/>

    <property name="configLocation" value="classpath:/mybatis-config.xml"></property>

    </bean>

回答:

  1. 这样子属于从逻辑角度去区分模块,因为这是在同一个工程中。如果在这情况下,我认为第1种区分得更好。
  2. 另外我觉得可以尝试从工程模块化角度去区分模块。比如Gradle,支持多项目构建,IDEA也支持模块化的工程,在IDEA中使用Gradle可以方便实现多项目构建。如下图:
    图片描述

图片描述
图片描述

以上是 关于java下的目录结构规范问题 的全部内容, 来源链接: utcz.com/p/178328.html

回到顶部