}
}
微服务场景模拟
=======
搭建两个工程: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可以把相关底层代码和要点都看起来。
- 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
- 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
- 学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
找小编(vip1024c)领取
,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0OTIyODMw,size_16,color_FFFFFF,t_70)
如何快速更新自己的技术积累?
- 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
- 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
- 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
- 学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
[外链图片转存中…(img-ZjfbBZMP-1721721713059)]
[外链图片转存中…(img-xKDrOXOA-1721721713059)]
找小编(vip1024c)领取