SpringBoot使用Maven建立多模块工程(二)

简介: SpringBoot使用Maven建立多模块工程(二)

项目多模块似乎已经很常见了,这里分享一下多模块构建过程。

环境:idea+SpringBoot2.0。

目标:父工程(打包pom),子工程(api-jar包,让web工程依赖)、子工程(hh-pojo-jar,让web工程依赖)以及web主工程(打war包)。

基本上本篇博客是在上一篇博文的基础上继续进行拓展。


【1】创建hh-pojo项目

步骤:父工程右键 – new Module – Maven 不使用模板(这个自行斟酌)。

创建后项目如下:



父工程的pom文件会自动添加module依赖:


添加pojo、dao和mapper.xml,如下图所示


【2】修改主项目hh-core

① 修改pom文件添加hh-pojo依赖

<!--引入api-->
<dependency>
    <groupId>com.jane</groupId>
    <artifactId>hh-api</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
<!--引入pojo-->
<dependency>
    <groupId>com.jane</groupId>
    <artifactId>hh-pojo</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

② 主程序类添加注解@MapperScan({“com.jane.dao”})

@SpringBootApplication
@MapperScan({"com.jane.dao"})
public class HhCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(HhCoreApplication.class, args);
    }
}

③ yml添加配置

# 配置mybatis
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath*:mybatis/mapper/*.xml

这里简要讲述一下classpath :

classpath:/xxx 和 classpath:xxx是一样的 。

.

classpath:xxx 和 classpath*:xxx是不一样的,前者表示引入一个,后者表示引入多个。

.

而且classpath*不仅包含class路径,还包括jar文件中(class路径)进行查找。

.

classpath:mapper/**/*.xml:查找类路径下mapper包下面所有子包中的所有xml。


④ hh-core项目添加自己的dao和mapper.xml



⑤ controller中编写代码测试两个到

@RestController
public class HelloController {
    @Autowired
    SysApkMapper apkMapper;
    @Autowired
    ISysApkExtendDao apkExtendDao;
    @RequestMapping("/hello")
    public Object hello(){
        String source = "janus";
        if (ToolUtils.isEmpty(source)){
           System.out.println("true");
        }
        SysApk sysApk = apkMapper.selectByPrimaryKey(1L);
        SysApk sysApkByType = apkExtendDao.getSysApkByType(1);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("apkMapper",sysApk);
        jsonObject.put("apkExtendDao",sysApkByType);
        return jsonObject;
    }
}

⑥ 使用浏览器进行测试

如下图所示,可以完美从两个不同项目不同dao中拿到数据:

【3】out目录是个什么鬼

out存放的是该项目下所有Module(模块)的编译结果。 target存放的是单个Module的编译结果。

如果为某个Module指定了编译结果的路径,则不会再输出到out文件夹中了。

在Project Structure中的Project选项卡中可以设置Project compiler output的目录。

在Modules中选择某一个模块后,在右侧的Paths选项卡中可以设置该模块的Compiler output目录。



目录
相关文章
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
549 0
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
2258 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
Java 应用服务中间件
SpringBoot工程打包部署
SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。
1249 7
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
1195 1
Maven——创建 Spring Boot项目
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
541 1
如何使用 maven 创建一个 Spring Boot项目
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
1531 0
|
9月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
684 3
|
8月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
420 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1489 0
|
11月前
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
346 6

推荐镜像

更多