# SpringBoot-SpringCloud
**Repository Path**: lizhesystem/SpringBoot-SpringCloud
## Basic Information
- **Project Name**: SpringBoot-SpringCloud
- **Description**: Springboot的入门案例集成eureka注册中心、ribbon负载均衡、hystrix熔断保护、feign请求伪装、zuul网关
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2020-01-15
- **Last Updated**: 2022-06-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SpringBoot-SpringCloud入门案例
Springboot的入门案例集成`eureka`注册中心、`ribbon`负载均衡、`hystrix`熔断保护、`feign`请求伪装、`zuul`网关。
微服务最好是基于springboot搭建,所以项目里的单个微服务都是基于springboot搭建。
# SpringBoot

## 入门:
- pom.xml配置
使用IDEA的`spring initializr`可以快速搭建,当前也可以创建maven工程后导入依赖包。
注意下面的pom配置
```xml
org.springframework.boot
spring-boot-starter-parent
2.0.6.RELEASE
org.springframework.cloud
spring-cloud-dependencies
Finchley.SR2
pom
import
```
目录结构参考该项目`service-provider` 微服务。使用的是IDEA快速搭建生成
目前该例子使用的是mybatis的xml配置SQL的方式,如果需要使用**通过mapper**的话需要参考下面
## 通用mapper
1. 导入pom.xml
```xml
tk.mybatis
mapper-spring-boot-starter
2.0.4
```
2. 配置文件
```yml
mybatis:
type-aliases-package: cn.itcast.service.pojo
# mapper-locations: classpath:mappers/*.xml 因为没有用xml这行注释掉
```
3. 实体类配置
```java
@Table(name = "user")
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// 用户名
private String userName;
// 下面内容省略
```
4. 定义接口,集成的这个接口里面很多增删改查的方法,不用自己写SQL了,直接调用默认的即可。
```java
@Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper{
}
```
5. 定义service,剩下的操作使用controller直接调用。
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User queryById(Long id) {
// 在这里使用通过mapper的方法
return this.userMapper.selectByPrimaryKey(id);
}
}
```
# SpringCloud架构
