SpringBoot-Dubbo

目录

一、常用注解

二、实现步骤

1.Provider

1)provider-pom.xml

2)provider-application.yml

3 )编写po,service&impl,SpringBoot6DubboApplication

 2、Customer

1)customer--pom.xml

2) customer--application.yml

 3)编写po、service(与provider一致),controller



一、常用注解

  • @SpringBootApplication 包含了@ComponentScan、@Configuration@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
  • @ResponseBody: 表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。
  • @RequestMapping 提供路由信息,负责URL到Controller中的具体函数的映射。
  • @ComponentScan 组件扫描,可自动发现和装配一些Bean,@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中如@Controller,@Service,@Repository注解中有一个共同的注解@Component,@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中
  • @Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。
  • @EnableAutoConfiguration 自动配置
  • @Controller 用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。
  • @RestController @Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
  • @Autowired 自动导入
  • @PathVariable 获取参数。等同于spring的XML配置文件;使用Java代码可以检查类型安全。
  • @ImportResource 注解加载xml配置文件 @Import 用来导入其他配置类。
  • @ImportResource: 用来加载xml配置文件
  • @Repository: 使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。
  • @Bean: 用@Bean标注方法等价于XML中配置的bean 
  • @Value 注入Spring boot application.properties配置的属性的值。
  • @Qualifier: 当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用。@Qualifier限定描述符除了能根据名字进行注入,但能进行更细粒度的控制如何选择候选者

二、实现步骤

1.Provider

1)provider-pom.xml

<groupId>com.etc</groupId>
<artifactId>springboot6-dubbo-provider</artifactId>
<version>0.0.1-SNAPSHOT</version>

<name>springboot6-dubbo-provider</name>

2)provider-application.yml

#项目应用的端口和名字
server:
  port: 7772

#Dubbo框架
dubbo:
  application:
    name: dubbo-provider
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: 20880
  scan:
    basePackages: com.etc

3 )编写po,service&impl,SpringBoot6DubboApplication


 2、Customer

1)customer--pom.xml

 <groupId>com.etc</groupId>
  <artifactId>springboot7-dubbo-customer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>springboot7-dubbo-customer</name>

2) customer--application.yml

#项目应用的端口和名字
server:
  port: 7788

#Dubbo框架
dubbo:
  application:
    name: dubbo-consumer
  registry:
    address: zookeeper://127.0.0.1:2181
  scan:
    base-packages:
      - com.etcf

 3)编写po、service(与provider一致),controller

  • controller:
@RestController
@RequestMapping("/api/user")
public class UserController {
    @Reference
    UserService userService;
    @GetMapping("/{id}")
    public User getUser(@PathVariable Integer id){
        System.out.println(id);
        User user = userService.finById(id);
        System.out.println(user);
        return user;
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值