新建maven项目,引入相关的jar包,此项目的名称为bpm
-
pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>bpm</groupId> <artifactId>bpm</artifactId> <version>1.0-SNAPSHOT</version> <description>user service Demo project for Spring cloud</description> <properties> <java.version>1.8</java.version> <spring-cloud-version>Finchley.RELEASE</spring-cloud-version> <spring-coud-eureka>2.0.0.RELEASE</spring-coud-eureka> </properties> <dependencies> <!--eureka--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!--spring boot web模块--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!--数据库的配置--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- druid数据源驱动 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency> <!-- druid监控依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version> </dependency> </dependencies> <dependencyManagement> <dependencies> <!--spring-cloud --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud-version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
-
添加配置文件application,需要注册到注册中心
server: port: 9996 eureka: instance: hostname: 127.0.0.1 lease-expiration-duration-in-seconds: 30 lease-renewal-interval-in-seconds: 10 client: service-url: defaultZone: http://${eureka.instance.hostname}:9999/eureka/ spring: application: name: eureka-bpm
-
添加启动类
/** * @author :mmzs * @date :Created in 2020/3/3 11:03 * @description:bpm消费者启动类 * @modified By: * @version: 1.0$ */ @SpringBootApplication @EnableEurekaClient public class BpmManagerApplication { public static void main(String[] args) { SpringApplication.run(BpmManagerApplication.class); } }
-
将RestTemplate注册到spring上下文
/** * @author :mmzs * @date :Created in 2020/3/3 11:48 * @description:将RestTemplate放到spring容器之中 * @modified By: * @version: 1$ */ @Configuration public class RestTemplateConfig { @Bean public RestTemplate getRestTemplate() { return new RestTemplate(); } }
-
添加rest接口请求到user系统
/** * @author :mmzs * @date :Created in 2020/3/3 10:56 * @description:rest接口调用其他工程的服务 * @modified By: * @version: 1.0$ */ @RestController(UserController.BEAN_NAME) public class UserController { static final String BEAN_NAME = "com.user.biz.controller.UserManagerController"; //定义请求服务的地址 private String userUrl = "http://localhost:9997/user"; private RestTemplate restTemplate; public UserController(RestTemplate restTemplate) { this.restTemplate = restTemplate; } @RequestMapping("/test1") public String getEurekaServiceInfo(){ /** * exchange(url,type,paras,resutType) * url:请求地址 * type:请求类型 get,post * paras:参数 * resutType:返回值类型 */ String url= userUrl + "/register"; HttpMethod type=HttpMethod.GET; RequestEntity<String> paras=null; ResponseEntity<String> responseEntity=restTemplate.exchange(url,type,paras,String.class); return responseEntity.getBody(); } }