Spring中基于Http协议RestTemplate初识与场景模拟

}

}

微服务场景模拟

=======

搭建两个工程:demo-service-provider(服务提供方)和demo-service-consumer(服务调用方)

服务提供方:使用mybatis操作数据库,实现对数据的增删改查;并对外提供rest接口服务。

服务消费方:使用restTemplate远程调用服务提供方的rest接口服务,获取数据。

创建 服务提供方 demo-service-provider(新建模块)


com.demo.service

demo-service-provider

0.0.1-SNAPSHOT

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

添加相关依赖

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.2

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

tk.mybatis

mapper-spring-boot-starter

2.0.4

org.springframework.boot

spring-boot-maven-plugin

继续配置

application.yml

server:

#给服务更换端口号、方便后期同时启动多个服务

port: 8082

spring:

datasource:

#数据库链接使用的 Url 账号密码

url: jdbc:mysql://localhost:3306/ssm

username: root

password: 123456

#给应用添加别名

application:

name: service-provider

mybatis:

#添加别名,方便在书写mapper中的 其他借口时候Mapper 不用再书写com.baidu.demo.service.pojo.TUser

type-aliases-package: com.baidu.demo.service.pojo

添加实体类

package com.baidu.demo.service.pojo;

@Table(name = “t_user”)

public class TUser {

//方便确定版本号

// private static final long serialVersionUID = 1L;

//用于证明 该字段id 是表t_user 的主键

@Id

//增长策略 IDENTITY自增长

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Integer id;

private String name;

private String pwd;

private Integer age;

//后面添加 Get/Set 方法

添加UserMapper

package com.baidu.demo.service.mapper;

import com.baidu.demo.service.pojo.TUser;

import org.apache.ibatis.annotations.Mapper;

@Mapper

//因为 @Maapper 和 Mapper 不是同一个 类下面的 所以必须有一个 用全名点出来

//Mapper 是因为 application中配置了别名

//Mapper 实现了一些基本的代表查询功能

public interface TUserMapper extends tk.mybatis.mapper.common.Mapper {

}

TUserService

package com.baidu.demo.service.service;

@Service

public class TUserService {

@Autowired

private TUserMapper tUserMapper;

public TUser selectByPrimaryKey(Integer id) {

return tUserMapper.selectByPrimaryKey(id);

}

}

UserController

package com.baidu.demo.service.controller;

@RestController

@RequestMapping(“user”)

public class TUserController {

@Autowired

private TUserService tUserService;

@GetMapping(“{id}”)

//RestFul风格 需要

public TUser selectByPrimaryKey(@PathVariable Integer id) {

return tUserService.selectByPrimaryKey(id);

}

}

服务调用者


基本配置

com.baidu.demo

demo-service-consumer

1.0-SNAPSHOT

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

引入依赖

org.springframework.boot

spring-boot-starter-parent

2.0.7.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.cloud

spring-cloud-dependencies

Finchley.SR2

pom

import

org.springframework.boot

spring-boot-maven-plugin

2.5.0

继续添加一下配置

如何快速更新自己的技术积累?

  • 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

找小编(vip1024c)领取
,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0OTIyODMw,size_16,color_FFFFFF,t_70)

如何快速更新自己的技术积累?

  • 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

[外链图片转存中…(img-ZjfbBZMP-1721721713059)]

[外链图片转存中…(img-xKDrOXOA-1721721713059)]

找小编(vip1024c)领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值