From aa622abeb3d34876fcfbb134bcd1a62557f1e65d Mon Sep 17 00:00:00 2001 From: qiushijie Date: Mon, 19 Feb 2024 11:07:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E6=88=90feign=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E7=9A=84=E5=A4=8D=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 10 +++ .idea/vcs.xml | 6 ++ pom.xml | 5 ++ springcloud-EurekaServer-7001/pom.xml | 35 ++++++++ .../springcloud/Eureka7001Application.java | 19 +++++ .../src/main/resources/application.yml | 11 +++ .../org/learning/springcloud/AppTest.java | 38 +++++++++ springcloud-EurekaServer-7002/pom.xml | 35 ++++++++ .../springcloud/Eureka7002Application.java | 19 +++++ .../src/main/resources/application.yml | 11 +++ .../org/learning/springcloud/AppTest.java | 38 +++++++++ springcloud-EurekaServer-7003/pom.xml | 35 ++++++++ .../springcloud/Eureka7003Application.java | 19 +++++ .../src/main/resources/application.yml | 11 +++ .../org/learning/springcloud/AppTest.java | 38 +++++++++ springcloud-consumer-dept-80/pom.xml | 23 +++++ .../springcloud/ConsumerApplication.java | 8 ++ .../springcloud/config/BeanConfig.java | 9 ++ .../springcloud/config/RibbonConfig.java | 21 +++++ .../controller/DeptConsumerController.java | 6 +- .../DeptConsumerFeignController.java | 28 +++++++ .../springcloud/service/DeptFeignService.java | 21 +++++ .../src/main/resources/application.yml | 9 +- springcloud-provider-dept-8001/pom.xml | 11 +++ .../springcloud/Dept8001Application.java | 19 +++++ .../learning/springcloud/DeptApplication.java | 15 ---- .../controller/DeptController.java | 23 +++++ .../src/main/resources/application.yml | 12 ++- springcloud-provider-dept-8002/pom.xml | 84 +++++++++++++++++++ .../springcloud/Dept8002Application.java | 19 +++++ .../controller/DeptController.java | 65 ++++++++++++++ .../springcloud/mapper/DeptMapper.java | 14 ++++ .../springcloud/service/DeptService.java | 11 +++ .../service/impl/DeptServiceImpl.java | 25 ++++++ .../src/main/resources/application.yml | 24 ++++++ .../src/main/resources/mapper/DeptMapper.xml | 22 +++++ .../main/resources/mybatis/mybatis-config.xml | 36 ++++++++ .../org/learning/springcloud/AppTest.java | 38 +++++++++ springcloud-provider-dept-8003/pom.xml | 84 +++++++++++++++++++ .../springcloud/Dept8003Application.java | 19 +++++ .../controller/DeptController.java | 67 +++++++++++++++ .../springcloud/mapper/DeptMapper.java | 14 ++++ .../springcloud/service/DeptService.java | 11 +++ .../service/impl/DeptServiceImpl.java | 25 ++++++ .../src/main/resources/application.yml | 24 ++++++ .../src/main/resources/mapper/DeptMapper.xml | 22 +++++ .../main/resources/mybatis/mybatis-config.xml | 36 ++++++++ .../org/learning/springcloud/AppTest.java | 38 +++++++++ 48 files changed, 1194 insertions(+), 19 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 springcloud-EurekaServer-7001/pom.xml create mode 100644 springcloud-EurekaServer-7001/src/main/java/org/learning/springcloud/Eureka7001Application.java create mode 100644 springcloud-EurekaServer-7001/src/main/resources/application.yml create mode 100644 springcloud-EurekaServer-7001/src/test/java/org/learning/springcloud/AppTest.java create mode 100644 springcloud-EurekaServer-7002/pom.xml create mode 100644 springcloud-EurekaServer-7002/src/main/java/org/learning/springcloud/Eureka7002Application.java create mode 100644 springcloud-EurekaServer-7002/src/main/resources/application.yml create mode 100644 springcloud-EurekaServer-7002/src/test/java/org/learning/springcloud/AppTest.java create mode 100644 springcloud-EurekaServer-7003/pom.xml create mode 100644 springcloud-EurekaServer-7003/src/main/java/org/learning/springcloud/Eureka7003Application.java create mode 100644 springcloud-EurekaServer-7003/src/main/resources/application.yml create mode 100644 springcloud-EurekaServer-7003/src/test/java/org/learning/springcloud/AppTest.java create mode 100644 springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/RibbonConfig.java create mode 100644 springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerFeignController.java create mode 100644 springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/service/DeptFeignService.java create mode 100644 springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/Dept8001Application.java delete mode 100644 springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/DeptApplication.java create mode 100644 springcloud-provider-dept-8002/pom.xml create mode 100644 springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/Dept8002Application.java create mode 100644 springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/controller/DeptController.java create mode 100644 springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/mapper/DeptMapper.java create mode 100644 springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/DeptService.java create mode 100644 springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java create mode 100644 springcloud-provider-dept-8002/src/main/resources/application.yml create mode 100644 springcloud-provider-dept-8002/src/main/resources/mapper/DeptMapper.xml create mode 100644 springcloud-provider-dept-8002/src/main/resources/mybatis/mybatis-config.xml create mode 100644 springcloud-provider-dept-8002/src/test/java/org/learning/springcloud/AppTest.java create mode 100644 springcloud-provider-dept-8003/pom.xml create mode 100644 springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/Dept8003Application.java create mode 100644 springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/controller/DeptController.java create mode 100644 springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/mapper/DeptMapper.java create mode 100644 springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/DeptService.java create mode 100644 springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java create mode 100644 springcloud-provider-dept-8003/src/main/resources/application.yml create mode 100644 springcloud-provider-dept-8003/src/main/resources/mapper/DeptMapper.xml create mode 100644 springcloud-provider-dept-8003/src/main/resources/mybatis/mybatis-config.xml create mode 100644 springcloud-provider-dept-8003/src/test/java/org/learning/springcloud/AppTest.java diff --git a/.idea/encodings.xml b/.idea/encodings.xml index f08d73d..61193ff 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,12 +1,22 @@ + + + + + + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 131d0d1..aaef994 100644 --- a/pom.xml +++ b/pom.xml @@ -14,8 +14,13 @@ springcloud-api springcloud-provider-dept-8001 + springcloud-provider-dept-8002 + springcloud-provider-dept-8003 springcloud-api springcloud-consumer-dept-80 + springcloud-EurekaServer-7001 + springcloud-EurekaServer-7002 + springcloud-EurekaServer-7003 diff --git a/springcloud-EurekaServer-7001/pom.xml b/springcloud-EurekaServer-7001/pom.xml new file mode 100644 index 0000000..cd6149e --- /dev/null +++ b/springcloud-EurekaServer-7001/pom.xml @@ -0,0 +1,35 @@ + + 4.0.0 + + com.learning + springcloud + 1.0-SNAPSHOT + + + org.learning.springcloud + springcloud-EurekaServer-7001 + jar + + springcloud-EurekaServer + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + + org.springframework.cloud + spring-cloud-starter-eureka-server + 1.4.6.RELEASE + + + diff --git a/springcloud-EurekaServer-7001/src/main/java/org/learning/springcloud/Eureka7001Application.java b/springcloud-EurekaServer-7001/src/main/java/org/learning/springcloud/Eureka7001Application.java new file mode 100644 index 0000000..155a815 --- /dev/null +++ b/springcloud-EurekaServer-7001/src/main/java/org/learning/springcloud/Eureka7001Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +/** + * Hello world! + * + */ +@EnableEurekaServer +@SpringBootApplication +public class Eureka7001Application +{ + public static void main( String[] args ) + { + SpringApplication.run(Eureka7001Application.class,args); + } +} diff --git a/springcloud-EurekaServer-7001/src/main/resources/application.yml b/springcloud-EurekaServer-7001/src/main/resources/application.yml new file mode 100644 index 0000000..4aea890 --- /dev/null +++ b/springcloud-EurekaServer-7001/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 7001 +#eureka配置 +eureka: + instance: + hostname: eureka7001.com #Eureka服务端的实例名称 + client: + fetch-registry: false #fetch-registry如果为false,表明自己为注册中心 + register-with-eureka: false #表示是否向eureka注册中心注册自己 + service-url: + defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ \ No newline at end of file diff --git a/springcloud-EurekaServer-7001/src/test/java/org/learning/springcloud/AppTest.java b/springcloud-EurekaServer-7001/src/test/java/org/learning/springcloud/AppTest.java new file mode 100644 index 0000000..e9b52c9 --- /dev/null +++ b/springcloud-EurekaServer-7001/src/test/java/org/learning/springcloud/AppTest.java @@ -0,0 +1,38 @@ +package org.learning.springcloud; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/springcloud-EurekaServer-7002/pom.xml b/springcloud-EurekaServer-7002/pom.xml new file mode 100644 index 0000000..9354ca9 --- /dev/null +++ b/springcloud-EurekaServer-7002/pom.xml @@ -0,0 +1,35 @@ + + 4.0.0 + + com.learning + springcloud + 1.0-SNAPSHOT + + + org.learning.springcloud + springcloud-EurekaServer-7002 + jar + + springcloud-EurekaServer + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + + org.springframework.cloud + spring-cloud-starter-eureka-server + 1.4.6.RELEASE + + + diff --git a/springcloud-EurekaServer-7002/src/main/java/org/learning/springcloud/Eureka7002Application.java b/springcloud-EurekaServer-7002/src/main/java/org/learning/springcloud/Eureka7002Application.java new file mode 100644 index 0000000..523bf0a --- /dev/null +++ b/springcloud-EurekaServer-7002/src/main/java/org/learning/springcloud/Eureka7002Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +/** + * Hello world! + * + */ +@EnableEurekaServer +@SpringBootApplication +public class Eureka7002Application +{ + public static void main( String[] args ) + { + SpringApplication.run(Eureka7002Application.class,args); + } +} diff --git a/springcloud-EurekaServer-7002/src/main/resources/application.yml b/springcloud-EurekaServer-7002/src/main/resources/application.yml new file mode 100644 index 0000000..b338ef3 --- /dev/null +++ b/springcloud-EurekaServer-7002/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 7002 +#eureka配置 +eureka: + instance: + hostname: eureka7002.com #Eureka服务端的实例名称 + client: + fetch-registry: false #fetch-registry如果为false,表明自己为注册中心 + register-with-eureka: false #表示是否向eureka注册中心注册自己 + service-url: + defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ \ No newline at end of file diff --git a/springcloud-EurekaServer-7002/src/test/java/org/learning/springcloud/AppTest.java b/springcloud-EurekaServer-7002/src/test/java/org/learning/springcloud/AppTest.java new file mode 100644 index 0000000..e9b52c9 --- /dev/null +++ b/springcloud-EurekaServer-7002/src/test/java/org/learning/springcloud/AppTest.java @@ -0,0 +1,38 @@ +package org.learning.springcloud; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/springcloud-EurekaServer-7003/pom.xml b/springcloud-EurekaServer-7003/pom.xml new file mode 100644 index 0000000..d7336b1 --- /dev/null +++ b/springcloud-EurekaServer-7003/pom.xml @@ -0,0 +1,35 @@ + + 4.0.0 + + com.learning + springcloud + 1.0-SNAPSHOT + + + org.learning.springcloud + springcloud-EurekaServer-7003 + jar + + springcloud-EurekaServer + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + + org.springframework.cloud + spring-cloud-starter-eureka-server + 1.4.6.RELEASE + + + diff --git a/springcloud-EurekaServer-7003/src/main/java/org/learning/springcloud/Eureka7003Application.java b/springcloud-EurekaServer-7003/src/main/java/org/learning/springcloud/Eureka7003Application.java new file mode 100644 index 0000000..9096fdc --- /dev/null +++ b/springcloud-EurekaServer-7003/src/main/java/org/learning/springcloud/Eureka7003Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +/** + * Hello world! + * + */ +@EnableEurekaServer +@SpringBootApplication +public class Eureka7003Application +{ + public static void main( String[] args ) + { + SpringApplication.run(Eureka7003Application.class,args); + } +} diff --git a/springcloud-EurekaServer-7003/src/main/resources/application.yml b/springcloud-EurekaServer-7003/src/main/resources/application.yml new file mode 100644 index 0000000..3e2c951 --- /dev/null +++ b/springcloud-EurekaServer-7003/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 7003 +#eureka配置 +eureka: + instance: + hostname: eureka7003.com #Eureka服务端的实例名称 + client: + fetch-registry: false #fetch-registry如果为false,表明自己为注册中心 + register-with-eureka: false #表示是否向eureka注册中心注册自己 + service-url: + defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/ \ No newline at end of file diff --git a/springcloud-EurekaServer-7003/src/test/java/org/learning/springcloud/AppTest.java b/springcloud-EurekaServer-7003/src/test/java/org/learning/springcloud/AppTest.java new file mode 100644 index 0000000..e9b52c9 --- /dev/null +++ b/springcloud-EurekaServer-7003/src/test/java/org/learning/springcloud/AppTest.java @@ -0,0 +1,38 @@ +package org.learning.springcloud; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/springcloud-consumer-dept-80/pom.xml b/springcloud-consumer-dept-80/pom.xml index 6e3d3b5..2a060c1 100644 --- a/springcloud-consumer-dept-80/pom.xml +++ b/springcloud-consumer-dept-80/pom.xml @@ -24,5 +24,28 @@ spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-ribbon + 1.4.6.RELEASE + + + + org.springframework.cloud + spring-cloud-starter-eureka + 1.4.6.RELEASE + + + + org.springframework.cloud + spring-cloud-starter-openfeign + 2.2.2.RELEASE + + + org.springframework.cloud + spring-cloud-netflix-eureka-client + + diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/ConsumerApplication.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/ConsumerApplication.java index 6fcab49..0182cac 100644 --- a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/ConsumerApplication.java +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/ConsumerApplication.java @@ -1,7 +1,15 @@ package org.learning.springcloud; +import org.learning.springcloud.config.RibbonConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; +import org.springframework.cloud.netflix.ribbon.RibbonClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + @SpringBootApplication +@EnableFeignClients +@EnableEurekaClient //也作为Eureka的客户端,因为要向注册中心获取服务信息 +@RibbonClient(name = "springcloud-provider-dept", configuration = RibbonConfig.class) public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class,args); diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/BeanConfig.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/BeanConfig.java index 1cdfc22..72f8382 100644 --- a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/BeanConfig.java +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/BeanConfig.java @@ -1,11 +1,20 @@ package org.learning.springcloud.config; +import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class BeanConfig {//@Configuration ==>spring applicationContext.xml + /** + * IRule + * RoundRobinRule 轮询 + * RandomRule 随机 + * AvailabilityFilteringRule 会先过滤掉跳闸或访问故障的服务,对剩下的进行轮询 + * RetryRule 会先按照轮询获取服务,如果服务获取失败,则在指定时间内进行重试 + */ @Bean + @LoadBalanced //在注册RestTemplate类时,使用注解,启动Ribbon实现负载均衡(默认轮询) public RestTemplate addRestTemplate(){ return new RestTemplate(); } diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/RibbonConfig.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/RibbonConfig.java new file mode 100644 index 0000000..6c706fb --- /dev/null +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/config/RibbonConfig.java @@ -0,0 +1,21 @@ +package org.learning.springcloud.config; + +import com.netflix.loadbalancer.IRule; +import com.netflix.loadbalancer.RoundRobinRule; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RibbonConfig { + /** + * IRule + * RoundRobinRule 轮询 + * RandomRule 随机 + * AvailabilityFilteringRule 会先过滤掉跳闸或访问故障的服务,对剩下的进行轮询 + * RetryRule 会先按照轮询获取服务,如果服务获取失败,则在指定时间内进行重试 + */ + @Bean + public IRule rule(){ + return new RoundRobinRule(); + } +} \ No newline at end of file diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerController.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerController.java index bec8b62..9788f54 100644 --- a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerController.java +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerController.java @@ -17,8 +17,10 @@ public class DeptConsumerController { @Autowired private RestTemplate restTemplate; - private static final String REST_URL_PREFIX = "http://localhost:8001"; - + // 使用Ribbon时,服务用服务名来访问 + // 既然是负载均衡,那必然是多台服务器的负载均衡,用IP访问就没有意义了,因此用负载均衡的注解时,不能用IP或者localhost,而应该用服务名。 + //private static final String REST_URL_PREFIX = "http://localhost:8001"; + private static final String REST_URL_PREFIX = "http://springcloud-provider-dept"; @RequestMapping("/consumer/dept/get/{id}") public Dept get(@PathVariable("id") Long id){ return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id, Dept.class); diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerFeignController.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerFeignController.java new file mode 100644 index 0000000..a6071e3 --- /dev/null +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/controller/DeptConsumerFeignController.java @@ -0,0 +1,28 @@ +package org.learning.springcloud.controller; + +import org.learning.springcloud.domain.Dept; +import org.learning.springcloud.service.DeptFeignService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/consumer/dept") +public class DeptConsumerFeignController { + // 消费者,不应该有service层 + @Autowired + private DeptFeignService deptFeignService; + + @RequestMapping("/feign/get/{id}") + public Dept get(@PathVariable("id") Long id){ + return deptFeignService.findDeptById(id); + } + + @RequestMapping("/feign/findAll") + public List findAll(){ + return deptFeignService.findAll(); + } +} \ No newline at end of file diff --git a/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/service/DeptFeignService.java b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/service/DeptFeignService.java new file mode 100644 index 0000000..a886a6a --- /dev/null +++ b/springcloud-consumer-dept-80/src/main/java/org/learning/springcloud/service/DeptFeignService.java @@ -0,0 +1,21 @@ +package org.learning.springcloud.service; + +import org.learning.springcloud.domain.Dept; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +@Service +//使用注解的方式来配置,完成对服务提供方的接口绑定 +@FeignClient(value="SPRINGCLOUD-PROVIDER-DEPT") +public interface DeptFeignService { + + @GetMapping("/dept/get/{id}") + Dept findDeptById(@PathVariable("id")Long id); + + @GetMapping("/dept/findAll") + List findAll(); +} diff --git a/springcloud-consumer-dept-80/src/main/resources/application.yml b/springcloud-consumer-dept-80/src/main/resources/application.yml index 226708a..f00e70c 100644 --- a/springcloud-consumer-dept-80/src/main/resources/application.yml +++ b/springcloud-consumer-dept-80/src/main/resources/application.yml @@ -1,2 +1,9 @@ server: - port: 80 \ No newline at end of file + port: 80 + +#eureka配置 +eureka: + client: + register-with-eureka: false #不向注册中心注册自己 + service-url: + defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ \ No newline at end of file diff --git a/springcloud-provider-dept-8001/pom.xml b/springcloud-provider-dept-8001/pom.xml index 5bc2dee..e188fc7 100644 --- a/springcloud-provider-dept-8001/pom.xml +++ b/springcloud-provider-dept-8001/pom.xml @@ -69,5 +69,16 @@ 1.0-SNAPSHOT + + + + org.springframework.cloud + spring-cloud-starter-eureka + 1.4.6.RELEASE + + + org.springframework.boot + spring-boot-actuator + diff --git a/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/Dept8001Application.java b/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/Dept8001Application.java new file mode 100644 index 0000000..64d5c89 --- /dev/null +++ b/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/Dept8001Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + +/** + * Hello world! + * + */ +@SpringBootApplication +@EnableEurekaClient //在服务启动后自动注册到Eureka中 +@EnableDiscoveryClient //服务发现 +public class Dept8001Application { + public static void main(String[] args) { + SpringApplication.run(Dept8001Application.class, args); + } +} \ No newline at end of file diff --git a/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/DeptApplication.java b/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/DeptApplication.java deleted file mode 100644 index ad7e388..0000000 --- a/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/DeptApplication.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.learning.springcloud; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * Hello world! - * - */ -@SpringBootApplication -public class DeptApplication { - public static void main(String[] args) { - SpringApplication.run(DeptApplication.class, args); - } -} \ No newline at end of file diff --git a/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/controller/DeptController.java b/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/controller/DeptController.java index 36889b5..620b514 100644 --- a/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/controller/DeptController.java +++ b/springcloud-provider-dept-8001/src/main/java/org/learning/springcloud/controller/DeptController.java @@ -4,6 +4,8 @@ import org.learning.springcloud.domain.Dept; import org.learning.springcloud.result.ResultForm; import org.learning.springcloud.service.DeptService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -19,6 +21,9 @@ public class DeptController { @Autowired public DeptService deptService; + @Autowired + private DiscoveryClient client; + @GetMapping("/get/{id}") public Dept getDeptById(@PathVariable("id") Integer id){ @@ -27,6 +32,7 @@ public class DeptController { // resultForm.setSuccess(false); // resultForm.setMessage("Id不能为空!"); // } + System.out.println("---------- 8001->/get/{id}"); return deptService.getDeptById(id); // if(dept == null){ // resultForm.setSuccess(false); @@ -41,4 +47,21 @@ public class DeptController { public List findAll(){ return deptService.findAll(); } + + @RequestMapping("/discovery") + public Object discovery(){ + //获取服务列表信息 + List services = client.getServices(); + System.out.println(services); + List instances = client.getInstances("springcloud-provider-dept"); + for (ServiceInstance instance : instances) { + System.out.println( + instance.getHost()+"\t"+ + instance.getPort()+"\t"+ + instance.getUri()+"\t"+ + instance.getServiceId()+"\t" + ); + } + return client; + } } diff --git a/springcloud-provider-dept-8001/src/main/resources/application.yml b/springcloud-provider-dept-8001/src/main/resources/application.yml index a899ee7..c881777 100644 --- a/springcloud-provider-dept-8001/src/main/resources/application.yml +++ b/springcloud-provider-dept-8001/src/main/resources/application.yml @@ -11,4 +11,14 @@ spring: username: postgres password: 123 application: - name: springcloud-provider-dept \ No newline at end of file + name: springcloud-provider-dept #提供的是同一个服务所以应用名称保持不变 +#添加客户端Eureka的配置,服务注册到哪里 +eureka: + client: + service-url: + defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ + instance: + instance-id: springcloud-provider-dept-8001 #修改Eureka上的默认描述信息 +info: + app.name: provider001 +# company.name: www.magicCubeSat.com \ No newline at end of file diff --git a/springcloud-provider-dept-8002/pom.xml b/springcloud-provider-dept-8002/pom.xml new file mode 100644 index 0000000..7c121fc --- /dev/null +++ b/springcloud-provider-dept-8002/pom.xml @@ -0,0 +1,84 @@ + + 4.0.0 + + com.learning + springcloud + 1.0-SNAPSHOT + + + org.learning + springcloud-provider-dept-8002 + jar + + springcloud-provider-dept-8001 + http://maven.apache.org + + + UTF-8 + + + + + + junit + junit + + + + org.postgresql + postgresql + + + com.alibaba + druid + + + org.projectlombok + lombok + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + + + + org.springframework.boot + spring-boot-test + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 2.1.0 + + + + org.learning + springcloud-api + 1.0-SNAPSHOT + + + + + + org.springframework.cloud + spring-cloud-starter-eureka + 1.4.6.RELEASE + + + org.springframework.boot + spring-boot-actuator + + + diff --git a/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/Dept8002Application.java b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/Dept8002Application.java new file mode 100644 index 0000000..f07c6a9 --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/Dept8002Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + +/** + * Hello world! + * + */ +@SpringBootApplication +@EnableEurekaClient //在服务启动后自动注册到Eureka中 +@EnableDiscoveryClient //服务发现 +public class Dept8002Application { + public static void main(String[] args) { + SpringApplication.run(Dept8002Application.class, args); + } +} \ No newline at end of file diff --git a/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/controller/DeptController.java b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/controller/DeptController.java new file mode 100644 index 0000000..592e603 --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/controller/DeptController.java @@ -0,0 +1,65 @@ +package org.learning.springcloud.controller; + +import org.learning.springcloud.domain.Dept; +import org.learning.springcloud.service.DeptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/dept") +public class DeptController { + + @Autowired + public DeptService deptService; + + @Autowired + private DiscoveryClient client; + + @GetMapping("/get/{id}") + public Dept getDeptById(@PathVariable("id") Integer id){ + +// ResultForm resultForm = new ResultForm(); +// if(id == null){ +// resultForm.setSuccess(false); +// resultForm.setMessage("Id不能为空!"); +// } + System.out.println("--------- 8002->/get/{id}"); + return deptService.getDeptById(id); +// if(dept == null){ +// resultForm.setSuccess(false); +// resultForm.setMessage("没有找到id为:"+id+"的部门!"); +// }else{ +// resultForm.setSuccess(true); +// resultForm.setContent(dept); +// } +// return resultForm; + } + @GetMapping("/findAll") + public List findAll(){ + return deptService.findAll(); + } + + @RequestMapping("/discovery") + public Object discovery(){ + //获取服务列表信息 + List services = client.getServices(); + System.out.println(services); + List instances = client.getInstances("springcloud-provider-dept"); + for (ServiceInstance instance : instances) { + System.out.println( + instance.getHost()+"\t"+ + instance.getPort()+"\t"+ + instance.getUri()+"\t"+ + instance.getServiceId()+"\t" + ); + } + return client; + } +} diff --git a/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/mapper/DeptMapper.java b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/mapper/DeptMapper.java new file mode 100644 index 0000000..225c4a7 --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/mapper/DeptMapper.java @@ -0,0 +1,14 @@ +package org.learning.springcloud.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.learning.springcloud.domain.Dept; + +import java.util.List; + +@Mapper +public interface DeptMapper { + Dept getDeptById(@Param("id") Integer id); + + List findAll(); +} diff --git a/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/DeptService.java b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/DeptService.java new file mode 100644 index 0000000..77ef78a --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/DeptService.java @@ -0,0 +1,11 @@ +package org.learning.springcloud.service; + +import org.learning.springcloud.domain.Dept; + +import java.util.List; + +public interface DeptService { + Dept getDeptById(Integer id); + + List findAll(); +} diff --git a/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java new file mode 100644 index 0000000..3eb3f81 --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java @@ -0,0 +1,25 @@ +package org.learning.springcloud.service.impl; + +import org.learning.springcloud.domain.Dept; +import org.learning.springcloud.service.DeptService; +import org.learning.springcloud.mapper.DeptMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class DeptServiceImpl implements DeptService { + @Autowired + public DeptMapper deptMapper; + @Override + public Dept getDeptById(Integer id) { + + return deptMapper.getDeptById(id); + } + + @Override + public List findAll() { + return deptMapper.findAll(); + } +} diff --git a/springcloud-provider-dept-8002/src/main/resources/application.yml b/springcloud-provider-dept-8002/src/main/resources/application.yml new file mode 100644 index 0000000..998910f --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/resources/application.yml @@ -0,0 +1,24 @@ +server: + port: 8002 +mybatis: + config-location: classpath:mybatis/mybatis-config.xml + type-aliases-package: com.learning.springcloud.domian +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://localhost:5432/postgres + username: postgres + password: 123 + application: + name: springcloud-provider-dept #提供的是同一个服务所以应用名称保持不变 +#添加客户端Eureka的配置,服务注册到哪里 +eureka: + client: + service-url: + defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ + instance: + instance-id: springcloud-provider-dept-8002 #修改Eureka上的默认描述信息 +info: + app.name: provider002 +# company.name: www.magicCubeSat.com \ No newline at end of file diff --git a/springcloud-provider-dept-8002/src/main/resources/mapper/DeptMapper.xml b/springcloud-provider-dept-8002/src/main/resources/mapper/DeptMapper.xml new file mode 100644 index 0000000..dc91b9c --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/resources/mapper/DeptMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-provider-dept-8002/src/main/resources/mybatis/mybatis-config.xml b/springcloud-provider-dept-8002/src/main/resources/mybatis/mybatis-config.xml new file mode 100644 index 0000000..8d04583 --- /dev/null +++ b/springcloud-provider-dept-8002/src/main/resources/mybatis/mybatis-config.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/springcloud-provider-dept-8002/src/test/java/org/learning/springcloud/AppTest.java b/springcloud-provider-dept-8002/src/test/java/org/learning/springcloud/AppTest.java new file mode 100644 index 0000000..e9b52c9 --- /dev/null +++ b/springcloud-provider-dept-8002/src/test/java/org/learning/springcloud/AppTest.java @@ -0,0 +1,38 @@ +package org.learning.springcloud; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/springcloud-provider-dept-8003/pom.xml b/springcloud-provider-dept-8003/pom.xml new file mode 100644 index 0000000..5b125c7 --- /dev/null +++ b/springcloud-provider-dept-8003/pom.xml @@ -0,0 +1,84 @@ + + 4.0.0 + + com.learning + springcloud + 1.0-SNAPSHOT + + + org.learning + springcloud-provider-dept-8003 + jar + + springcloud-provider-dept-8001 + http://maven.apache.org + + + UTF-8 + + + + + + junit + junit + + + + org.postgresql + postgresql + + + com.alibaba + druid + + + org.projectlombok + lombok + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + + + + org.springframework.boot + spring-boot-test + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 2.1.0 + + + + org.learning + springcloud-api + 1.0-SNAPSHOT + + + + + + org.springframework.cloud + spring-cloud-starter-eureka + 1.4.6.RELEASE + + + org.springframework.boot + spring-boot-actuator + + + diff --git a/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/Dept8003Application.java b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/Dept8003Application.java new file mode 100644 index 0000000..619bba1 --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/Dept8003Application.java @@ -0,0 +1,19 @@ +package org.learning.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; + +/** + * Hello world! + * + */ +@SpringBootApplication +@EnableEurekaClient //在服务启动后自动注册到Eureka中 +@EnableDiscoveryClient //服务发现 +public class Dept8003Application { + public static void main(String[] args) { + SpringApplication.run(Dept8003Application.class, args); + } +} \ No newline at end of file diff --git a/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/controller/DeptController.java b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/controller/DeptController.java new file mode 100644 index 0000000..4745ebd --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/controller/DeptController.java @@ -0,0 +1,67 @@ +package org.learning.springcloud.controller; + +import org.learning.springcloud.domain.Dept; +import org.learning.springcloud.result.ResultForm; +import org.learning.springcloud.service.DeptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/dept") +public class DeptController { + + @Autowired + public DeptService deptService; + + @Autowired + private DiscoveryClient client; + + @GetMapping("/get/{id}") + public Dept getDeptById(@PathVariable("id") Integer id){ + +// ResultForm resultForm = new ResultForm(); +// if(id == null){ +// resultForm.setSuccess(false); +// resultForm.setMessage("Id不能为空!"); +// } + System.out.println("------------ 8003->/get/{id}"); + return deptService.getDeptById(id); +// if(dept == null){ +// resultForm.setSuccess(false); +// resultForm.setMessage("没有找到id为:"+id+"的部门!"); +// }else{ +// resultForm.setSuccess(true); +// resultForm.setContent(dept); +// } +// return resultForm; + } + @GetMapping("/findAll") + public List findAll(){ + return deptService.findAll(); + } + + @RequestMapping("/discovery") + public Object discovery(){ + //获取服务列表信息 + List services = client.getServices(); + System.out.println(services); + List instances = client.getInstances("springcloud-provider-dept"); + for (ServiceInstance instance : instances) { + System.out.println( + instance.getHost()+"\t"+ + instance.getPort()+"\t"+ + instance.getUri()+"\t"+ + instance.getServiceId()+"\t" + ); + } + return client; + } +} diff --git a/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/mapper/DeptMapper.java b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/mapper/DeptMapper.java new file mode 100644 index 0000000..225c4a7 --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/mapper/DeptMapper.java @@ -0,0 +1,14 @@ +package org.learning.springcloud.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.learning.springcloud.domain.Dept; + +import java.util.List; + +@Mapper +public interface DeptMapper { + Dept getDeptById(@Param("id") Integer id); + + List findAll(); +} diff --git a/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/DeptService.java b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/DeptService.java new file mode 100644 index 0000000..77ef78a --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/DeptService.java @@ -0,0 +1,11 @@ +package org.learning.springcloud.service; + +import org.learning.springcloud.domain.Dept; + +import java.util.List; + +public interface DeptService { + Dept getDeptById(Integer id); + + List findAll(); +} diff --git a/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java new file mode 100644 index 0000000..3eb3f81 --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/java/org/learning/springcloud/service/impl/DeptServiceImpl.java @@ -0,0 +1,25 @@ +package org.learning.springcloud.service.impl; + +import org.learning.springcloud.domain.Dept; +import org.learning.springcloud.service.DeptService; +import org.learning.springcloud.mapper.DeptMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class DeptServiceImpl implements DeptService { + @Autowired + public DeptMapper deptMapper; + @Override + public Dept getDeptById(Integer id) { + + return deptMapper.getDeptById(id); + } + + @Override + public List findAll() { + return deptMapper.findAll(); + } +} diff --git a/springcloud-provider-dept-8003/src/main/resources/application.yml b/springcloud-provider-dept-8003/src/main/resources/application.yml new file mode 100644 index 0000000..ebf57b3 --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/resources/application.yml @@ -0,0 +1,24 @@ +server: + port: 8003 +mybatis: + config-location: classpath:mybatis/mybatis-config.xml + type-aliases-package: com.learning.springcloud.domian +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://localhost:5432/postgres + username: postgres + password: 123 + application: + name: springcloud-provider-dept #提供的是同一个服务所以应用名称保持不变 +#添加客户端Eureka的配置,服务注册到哪里 +eureka: + client: + service-url: + defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ + instance: + instance-id: springcloud-provider-dept-8003 #修改Eureka上的默认描述信息 +info: + app.name: provider003 +# company.name: www.magicCubeSat.com \ No newline at end of file diff --git a/springcloud-provider-dept-8003/src/main/resources/mapper/DeptMapper.xml b/springcloud-provider-dept-8003/src/main/resources/mapper/DeptMapper.xml new file mode 100644 index 0000000..dc91b9c --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/resources/mapper/DeptMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-provider-dept-8003/src/main/resources/mybatis/mybatis-config.xml b/springcloud-provider-dept-8003/src/main/resources/mybatis/mybatis-config.xml new file mode 100644 index 0000000..8d04583 --- /dev/null +++ b/springcloud-provider-dept-8003/src/main/resources/mybatis/mybatis-config.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/springcloud-provider-dept-8003/src/test/java/org/learning/springcloud/AppTest.java b/springcloud-provider-dept-8003/src/test/java/org/learning/springcloud/AppTest.java new file mode 100644 index 0000000..e9b52c9 --- /dev/null +++ b/springcloud-provider-dept-8003/src/test/java/org/learning/springcloud/AppTest.java @@ -0,0 +1,38 @@ +package org.learning.springcloud; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +}