SpringCloud-Demo
最新版本springcloud目录
- eureka-7001,这是控制台
- eureka-7002,这是控制台集群
- module-user-8001,这是用户服务
- 使用 es ,还有高亮查询
- module-order-9001,这是订单服务
- 使用 logging + @Slf4j
- module-order-9002,这是订单服务集群
- 使用 security
- 使用 log4j2 + @Slf4j
- 使用 mybatisplus
- 结合 redis实现二级缓存,就是分页结果没有被缓存,查到的资料是重写service层自行缓存,或者等mybatisplus更新这个功能
- consumer-80,这是自定义网关,也就是消费者,也就是入口
- gateway-80,这是专业的网关,自动转发服务
- pdt-common
- common-redis
- redis配置和工具包
- common-redis
common-redis知识点
创建功能模块
- 在springcloud目录新建一个module叫pdt-common
<parent>
<artifactId>pdt</artifactId>
<groupId>com.pdt</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pdt-common</artifactId>
<packaging>pom</packaging>
<modules>
<module>common-redis</module>
</modules>
- 然后把src删了
- 再往pdt-common新建一个子module叫common-redis,添加redis依赖
<parent>
<artifactId>pdt-common</artifactId>
<groupId>com.pdt</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common-redis</artifactId>
<dependencies>
<!-- SpringBoot Boot Redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
- redis需要配置
RedisTemplate
和自定义RedisService
,这个百度都有 - 不需要application配置文件,配置是在使用者上进行配置的
- 暴露接口
# 没有这个路径就新建
# resources/META-INF/spring.factories
# 第一行是股东写法,第二行开始就是java文件所在的路径
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.pdt.common.redis.configure.RedisConfig,\
com.pdt.common.redis.service.RedisService
使用
- 这里是在module-order9002里使用的
- 在pom里配置依赖
<dependency>
<groupId>com.pdt</groupId>
<artifactId>common-redis</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
- 在application配置ip地址,端口,账号,密码等
- 代码
import com.pdt.common.redis.service.RedisService;
@Controller
@ResponseBody
public class test {
@Autowired
RedisService redisService;
@RequestMapping("/redis")
public String redis(String[] args) {
redisService.setCacheObject("redis-9002","redis-9002");
return "order-9002-redis";
}
}
使用@Slf4j
- 补充一句日志建议使用 log4j2
- maven
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
- 这样就能用了,但是会发现log是报错的,报错也能用,但是不好看
@Slf4j
@Controller
@ResponseBody
public class test {
// 再也不用写这句了
// Logger logger = LoggerFactory.getLogger(test.class);
@RequestMapping("/")
public String main(String[] args) {
log.trace("这是trance日志。。。。");
log.debug("这是debug日志。。。。");
log.info("这是info日志。。。。");
log.warn("这是warn日志。。。。");
log.error("这是error日志。。。。");
return "order-9001";
}
}
- IDEA安装lombok插件,安装后需要重启,然后log就不会报错了