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);
}
}



