maven打包项目,然后给其他项目引用

news/2024/4/19 5:03:11

A项目(这个项目需要被打包,作为被引入的项目),不需要启动类,因为作为公共模块被B项目引入:

package com.yunya.mvndependontest.rest;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/teacher")
public class TeacherRest {@RequestMapping("/say")public String say() {String word = "好好学习,天天向上!";System.out.println(word);return word;}}
Teaching Service类,包含math 和 chinese方法:package com.yunya.mvndependontest.service;import org.springframework.stereotype.Service;@Service
public class Teaching {public String math() {return "教数学啦";}public String chinese() {return "教中文啦";}}

B项目:引入打包后的A项目(gav格式引入),启动端口是:8082

MvnDependOnParentTestApplication 启动类文件:
注意务必要使用@ComponentScan注解将A项目的restcontroller路径也引入,否则访问A项目restful接口路径(/teacher/say)会提示找不到地址。
package com.yunya.mvndependonparenttest;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;@SpringBootApplication
@ComponentScan("com.yunya")
public class MvnDependOnParentTestApplication {public static void main(String[] args) {SpringApplication.run(MvnDependOnParentTestApplication.class, args);}}
Student RestController类,该类中调用A项目的Teaching Service类的方法math:package com.yunya.mvndependonparenttest.rest;import com.yunya.mvndependontest.service.Teaching;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/student")
public class Student {@AutowiredTeaching teaching;@RequestMapping("/study")public String study() {String studyContent = "学生学到了一首诗:床前明月光,疑是地上霜。";System.out.println(studyContent);// 调用引入的A项目的teaching service类中的math方法String mathContent = teaching.math();System.out.println(mathContent);return studyContent;}
}

访问效果:
访问B项目地址:localhost:8082/teacher/say,如下效果:
在这里插入图片描述
访问B项目地址:localhost:8082/student/study,如下效果:
在这里插入图片描述

引用:
把一个项目打成jar包并引入其他项目中

springboot引入其他项目jar包并实现对数据库的操作


https://dhexx.cn/news/show-5160643.html

相关文章

第二十章,多线程

创建线程 有两种方式,分别为继承Java.lang.Thread类与实现Java.lang.Runnable接口 继承Thread类 Thread常用的两个构造方法语法 public Thread(); public Thread(String threadName); 继承…

【蓝桥杯 LCA 差分】 砍树

题目分析: 这道题还是比较裸的一道书上差分的题目了 对于每一对标记点(x,y) 他们之间的路径就是 x − > L C A ( x , y ) − > y x->LCA(x,y)->y x−>LCA(x,y)−>y 这条路径上的每一条边都要经过。 那么对于一条边,什么时候砍掉这条…

qt实现一个安卓测试小工具

qt实现一个安卓测试小工具 最终效果:目录结构源码gui.py 主要是按钮,文本控制代码main.py 主要是逻辑代码gui.spec 是打包使用的adb.ui 最终效果: 目录结构 上面2个是打包的生成的不用管 源码 gui.py 主要是按钮,文本控制代码…

数据结构(超详细讲解!!)第二十五节 树与森林

1.树的存储结构 和线性表一样,树可以用顺序和链式两种存储结构。 树的顺序存储结构适合树中结点比较“满”的情况。根据树的非线性结构特点,常用链式存储方式来表示树。树常用的存储方法有:双亲表示法、孩子表示法和孩子兄弟表…

Python(八十九)函数的参数的内存分析

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

ZKP15.2 Formal Methods in ZK (Part I)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 15: Secure ZK Circuits via Formal Methods (Guest Lecturer: Yu Feng (UCSB & Veridise)) 15.2 Formal Methods in ZK (Part I) Circuits Workflow Source Code: Witness Generation and ConstraintsWitness Generatio…

kubenetes-kubelet组件

一、kubelet架构 每个节点都运行一个kubelet进程,默认监听10250端口,kubelet作用非常重要,是节点的守护神。 接收并执行 master发来的指令。管理Pod及Pod中的容器。每个kubelet进程会在API Server 上注册节点自身信息,定期向mast…

JavaScript 的 DOM 知识点有哪些?

文档对象模型(Document Object Model,简称 DOM),是一种与平台和语言无关的模型,用来表示 HTML 或 XML 文档。文档对象模型中定义了文档的逻辑结构,以及程序访问和操作文档的方式。 当网页加载时&#xff0…

每日一练【移动零】

一、题目描述 283. 移动零 - 力扣(LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 二、题目解析 可以…

基于SSM的旅游管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…