动态加载 dubbo spring
1.首先删除 配置文件中 dubboservice ,以及 项目中引用 service,然后 删除entity 中user,以及service 中userservice
<!-- 生成远程服务代理,可以和本地bean一样使用demoService --> <!-- <dubbo:reference id="userService" interface="com.curiousby.cn.service.UserService" /> -->
2. usercontroller中修改代码
@RequestMapping(value="/auto/{userId}", method=RequestMethod.GET) public Object getUserById2(@PathVariable int userId) throws Exception { String url = "dubbo://localhost:20880/com.curiousby.cn.service.UserService";//更改不同的Dubbo服务暴露的ip地址&端口 //dubbo%3A%2F%2F10.133.254.143%3A20880%2Fcom.curiousby.cn.service.UserService%3Fanyhost%3Dtrue%26application%3Ddubbox-productor%26dubbo%3D2.5.3%26interface%3Dcom.curiousby.cn.service.UserService%26methods%3DfindById%26pid%3D14284%26side%3Dprovider%26timestamp%3D1517473747502 ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader(); URL classesurl = new URL( "file:///D:/cache/eclipse4mvn-workplace/SpringBootDubboxDemo-Consumer/target/classes/com/curiousby/cn/" ); ClassLoader custom = new URLClassLoader( new URL[] { classesurl }, systemClassLoader ); //Class myClazz = Class.forName("com.curiousby.cn.service.UserService"); Class myClazz = custom.loadClass("com.curiousby.cn.service.UserService"); List classList = new ArrayList(); List valList = new ArrayList(); classList.add(Class.forName("java.lang.Integer")); valList.add(userId); ReferenceBean referenceBean = new ReferenceBean(); referenceBean.setApplicationContext(applicationContext); referenceBean.setInterface(myClazz); referenceBean.setUrl(url); try { referenceBean.afterPropertiesSet(); Object object = referenceBean.get(); Method methodService = myClazz.getMethod("findById", (Class[])classList.toArray(new Class[0])); return methodService.invoke(object, valList.toArray()); } catch (Exception e) { e.printStackTrace(); } return null; }
3.上传 class 文件到指定位置
这样就可以按照配置,自动上传 class 并解析 消费服务了
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
5. **Spring Boot的自动配置原理**:Spring Boot通过`@EnableDubbo`注解开启Dubbo的自动配置,加载对应的配置并创建Bean。这使得在Spring Boot环境中可以像使用其他Spring Bean一样使用Dubbo服务。 6. **测试与运行...
### 使用Dubbo、Spring Boot等技术实现互联网后台服务项目架构 #### 一、引言 在当前快速发展的互联网行业中,微服务架构已经成为构建复杂系统的一种主流方式。微服务架构能够帮助开发团队更好地组织代码,提高...
使用spring配置文件配置dubbo服务,ioc注入。不是其他入门实例的api启动。 每一步可能犯的错误都在下面的地址里有详细描述 详细介绍参见blog http://blog.csdn.net/fangxiaoji/article/details/41845955
在IT行业中,Dubbo是一个...总的来说,"dubbo整合spring"项目展示了如何利用Spring的IOC和AOP特性,结合Dubbo的RPC能力,构建可扩展、高可用的服务架构。理解和掌握这一整合过程,对于提升企业级应用开发能力至关重要。
1. 添加依赖:首先,在Spring Boot项目的pom.xml中添加Spring Dubbo的相关依赖,包括dubbo-spring-boot-starter、dubbo-spring-boot-autoconfigure等。 2. 配置服务提供者:定义服务接口,并在服务提供者的配置类中...
1. **配置Maven依赖**:在项目的pom.xml文件中添加Dubbo和Spring的相关依赖,确保项目可以正常导入所需库。 2. **定义服务接口**:创建一个服务接口,这是Dubbo服务的基础。这个接口会包含服务的业务方法,供服务...
5. **启动和测试**:项目可能会提供一个主启动类,如`com.example.DemoApplication`,用于启动Spring Boot应用,并加载Dubbo配置。此外,还可能包含测试用例来验证服务的正常工作。 6. **服务调用**:在示例中,...
在Spring Boot项目中引入Dubbo的支持,我们需要在`pom.xml`文件中添加相应的依赖,如`spring-boot-starter-dubbo`和`dubbo-spring-boot-starter`。同时,为了使用Zookeeper作为注册中心,还需要添加`zookeeper`的...
总的来说,Dubbo和Spring的关系体现在Spring作为基础框架,提供了加载和管理配置的能力,而Dubbo利用Spring的这些能力,通过`BeanFactoryPostProcessor`等机制,在Spring环境中注入自己的服务治理逻辑。这种组合使得...
确保添加 `spring-boot-starter-web` 和 `spring-boot-devtools` 依赖,它们是 Spring Boot 应用的基础。 2. **添加 Dubbo 依赖** 在项目的 `pom.xml` 或 `build.gradle` 文件中,添加 Dubbo 的依赖。Dubbo 提供了...
Spring的ApplicationContext加载这些配置后,会自动完成服务的暴露和引用。 【四】Demo源码解析 1. **服务提供者**: - 首先,我们需要定义一个服务接口,并在实现类中添加`@Service`注解,指定接口、版本和实现...
`dubbo-spring-boot-autoconfigure-2.7.8-sources.jar`提供了模块的源代码,开发者可以通过阅读源码深入了解自动配置的实现细节,包括如何加载配置、如何创建Bean以及如何将Dubbo的配置项映射到Spring Boot的配置...
此外,Spring与Dubbo的集成通常会使用Spring的ApplicationContext来加载Dubbo的配置,从而实现服务的自动装配。 压缩包中的"TestDubbo"可能是一个测试目录或者一个测试项目,里面可能包含了项目的源代码、配置文件...
Apache Dubbo Spring Boot项目 Spring Boot Project使使用Dubbo...您可以通过向pom.xml中添加以下依赖项,将最新的dubbo-spring-boot-starter引入项目中。 < spring>2.3.0.RELEASE</ spring> < dubbo>2.7.8</ d
在Spring Boot的`pom.xml`文件中,我们需要添加Dubbo的Spring Boot Starter依赖,以及可能需要的其他服务治理工具的依赖,例如Zookeeper。 ```xml <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-...
在`pom.xml`文件中,你需要添加Dubbo和Spring相关的依赖,例如`dubbo-spring-boot-starter`、`spring-context`等。 3. **配置Dubbo**:在项目中创建`application.properties`或`application.yml`文件,配置Dubbo的...
1. **添加依赖**:在项目的Maven或Gradle配置文件中,引入dubbo-spring-boot-starter的相关依赖,确保项目能够识别并加载这个启动器。 2. **配置服务**:通过Spring Boot的配置文件(如application.properties或...
Spring Boot和Dubbo是两个非常重要的Java开发框架,Spring Boot简化了Spring应用的初始化和配置,而Dubbo则是一个高性能、轻量级的服务治理框架。本文将深入探讨如何在Spring Boot项目中集成Dubbo,创建一个高效的...
3. 引入依赖:在pom.xml文件中添加Spring、Dubbo和相关依赖。 4. 配置服务提供者:编写服务接口和实现类,创建dubbo的配置文件(如dubbo-provider.xml),配置服务暴露的信息,如接口名、版本、协议等。 5. 配置服务...
要实现动态配置,我们需要一个用户界面或者API接口,允许管理员添加、修改或删除任务。这些任务的配置信息(如执行间隔、目标Dubbo或HTTP接口等)将被保存到数据库中。在SpringBoot应用启动时,或者当配置更新时,...