SpringBoot整合Dubbo常用注解类说明

发布时间:2023年12月20日
SpringBoot与Dubbo的整合pom依赖:
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.esint</groupId>
			<artifactId>dubbo-01-api</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

		<dependency>
			<groupId>org.apache.dubbo</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>3.2.0</version>
		</dependency>
	</dependencies>
通常Service服务加上@DubboService注解后,才能被Dubbo识别并且实例化并且发布为RPC服务。Dubbo如何去扫描这些加了注解的类,有三种途径:
  • 1.在服务启动类上加上注解 @EnableDubbo 。作用范围:当前同级的包及其子类会被扫描识别。
  • 2.在服务启动类上加上注解 @DubboComponentScan( basePackages = “com.esint.service”) 这个指定的包下的带有@DubboService的注解类会被扫描识别。
  • 3.在yml配置文件中设置。
dubbo:
 scan:
  base-packages: com.esint.service
@DubboService作用:
  1. SpringBoot会创建这个类型的对象(等同于@Component(@Service) @Bean注解的创建对象的作用)
  2. 发布成RPC的服务。

@DubboService等同:
<bean id="userService" class="com.esint.service.UserServiceImpl" />
<dubbo:service interface="com.esint.service.UserService" ref="userService" />

代码兼容性建议:服务类不仅仅要加入@DubboService注解,同时也要设置@Service注解。

@DubboReference(url = “dubbo://169.254.55.31:20880/com.esint.service.UserService”)
  1. 在Consumer端,通过@DubboReference 注入远端服务的代理对象。
  2. 类似于Spring开发中的@Autowired注解的作用
文章来源:https://blog.csdn.net/qq_17040587/article/details/135010162
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。