栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot A项目jar包调用B项目,项目C接口调用A 事务添加

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot A项目jar包调用B项目,项目C接口调用A 事务添加

一. A项目jar包调用B项目

1.项目b打包依赖修改,把上面的springboot默认打包依赖注释,改为下面的,因为默认打包出来是可执行jar,导入项目a后无法扫描


    
        
            
                
                
            
        
    
 
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
    
    将项目b打包安装到本地maven仓库,可以用idea界面操作或者命令行,然后把依赖写入项目a的pom中
      
            com.example
            newauto1
            jar
            0.0.1-SNAPSHOT
        

    在项目a中的启动入口处添加需要启动扫描的包,包括项目a和项目b的

    注意:项目a和项目b中不能有同名的类名,否则会报错启动不了

@SpringBootApplication(scanbasePackages = {"com.demo4.demo", "com.example.newauto1"})
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}
二.项目C接口调用A
    B有一方法
@Service
public class StuServiceImpl implements  StuService{
    @Autowired
    StuMapper stuMapper;
    @Autowired
    UsersMapper usersMapper;

    @Override
    public String findStu(String name) {
        Stu stu = new Stu();
        stu.setStuname(name);
        Stu stu1 = stuMapper.selectOne(stu);
        return stu1.toString();
    }
}
    A调用
@RestController
@RequestMapping("/stu2")
public class Stu2Controller {
    @Autowired
    private StuService stuService;

    @GetMapping("/select")
    public String getStu(@Param("userName") String userName ) {
        return stuService.findStu(userName);
    }
}

    C项目
package com.demo3.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.client.RestTemplate;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class A {
    @Autowired
    RestTemplate restTemplate;
    
    @GetMapping("/getMethodHasParamReturnList")
    public ResponseEntity getMethodHasParamReturnList(){
        Map param=new HashMap<>();
        param.put("pageNum",1);
        param.put("pageSize",2);
        HttpHeaders headers=new HttpHeaders();
        ResponseEntity response = restTemplate.exchange(
                "http://127.0.0.1:8082/stu2/select?userName=sss2",
                HttpMethod.GET,
                new HttpEntity(headers),
                String.class,
                param);
        System.out.println(response.getBody());
        return response;
    }
}
    postman调用即可
    http://127.0.0.1:8080/getMethodHasParamReturnList
三.添加事务

sevice实现类 @Transactional

    @Override
    @Transactional
    public String insertStu(Stu stu) {
        stuMapper.insert(stu);
        Users users = new Users();
        users.setId(stu.getUserid());
        users.setUsername(stu.getStuname());
        int i = Integer.parseInt(stu.getStuname());
        users.setPwd(String.valueOf(i));
        usersMapper.insert(users);
        return "添加成功了"+stu.getStuname();
    }

启动类添加@EnableTransactionManagement

package com.example.newauto1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@MapperScan({"com.example.newauto1.mapper"})
@EnableTransactionManagement
public class Newauto1Application {

    public static void main(String[] args) {
        SpringApplication.run(Newauto1Application.class, args);
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号