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知识点

创建功能模块

  • 在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就不会报错了

image.png

posted @ 2020-08-18 14:34  一个年轻淫  阅读(274)  评论(0编辑  收藏  举报