![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 微服务实战
文章平均质量分 66
Springboot Cloud Alibaba
余衫马
且举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。——《逍遥游·北冥有鱼》庄周
展开
-
六、SpringCloudGateway+JWT统一认证鉴权
参考springcloud-learning/micro-oauth2原创 2021-06-02 21:46:20 · 7611 阅读 · 2 评论 -
四、MyBatis-Plus雪花算法与自定义ID生成器
参考官方手册原创 2021-05-28 21:38:26 · 5537 阅读 · 0 评论 -
五、MyBatis-Plus分页插件与联表查询
说明mybatis plus内置的是逻辑分页,保存在内存中,而不是硬盘上。因此引入分页插件,实现物理分页,在数据量大时,物理分页比逻辑分页有优势。参考官方文档分页插件以admin-module微服务模块为示例,进行分页查询示例。添加配置类MybatisPlusConfigpackage com.admin.module.config;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.原创 2021-05-29 19:39:03 · 788 阅读 · 1 评论 -
八、使用 log4j2 日志记录操作
参考 官方手册引入 log4j2 依赖需要剔除其他 log 包:<!-- 全局日志排除 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> <exclusions> <exclusion.原创 2021-07-10 22:40:20 · 497 阅读 · 1 评论 -
二、工程安排与模块设计
父工程dgut-campus-recruiting-helper公共模块common(接口与实体类、实现类)微服务模块admin-module,端口807X(8070-8079集群)enterprise-module,端口806Xstudent-module,端口805Xdiscussion-module,端口804Xjob-position-module,端口803X网关api-gateway,端口7000api-docwebsocket-module...原创 2021-05-24 22:34:47 · 297 阅读 · 0 评论 -
一、需求背景与技术选型
项目背景笔者是大三在校生,网络工程专业,选修的是开发方向的课程,底子可能没有软工专业的好,如果发现有一些错误,还请大家不吝赐教。本次小项目的灵感源于今年各行各业的内卷,在校园里还是挺多机会的,一些企业会在学校里面办招聘会,如熟悉的春招、秋招,因此就想做一个校园招聘的平台,用人单位可以在该平台申请招聘岗位,学校管理员可以在该平台审核企业的申请,学生可以在该平台看到企业需要的岗位,每一个岗位都设立一个讨论区用于答疑,学生可以标记心仪岗位,而且该平台还能根据学生的专业推荐相关的企业岗位。总的来说,这个平台原创 2021-05-24 16:43:08 · 122 阅读 · 0 评论 -
七、api接口安全设计
参考 API安全接口安全设计参考 系列学习互联网安全架构第 3 篇 —— 自定义注解,防止表单重复提交参考安全|API接口安全性设计(防篡改和重复调用)参考API接口安全设计为什么要设计安全的api接口运行在外网服务器的接口暴露在整个互联网中,可能会受到各种攻击,例如恶意爬取服务器数据、恶意篡改请求数据等,因此需要一个机制去保证api接口是相对安全的。本项目api接口安全设计本项目api接口的安全性主要是为了请求参数不会被篡改和防止接口被多次调用而产生脏数据,实现方案主要围绕..原创 2021-06-28 21:39:58 · 2495 阅读 · 3 评论 -
十三、Mybatis-plus 字段自动填充
参考 官方手册,主要是自动填充创建、更新时间。注解注解参考官方手册。@TableField(fill = FieldFill.INSERT_UPDATE)@TableField(fill = FieldFill.INSERT)@TableField(fill = FieldFill.UPDATE)自定义实现类 MyMetaObjectHandlerpackage com.commons.util;import com.baomidou.mybatisplus.core.ha.原创 2021-08-05 13:42:57 · 138 阅读 · 0 评论 -
十四、SchoolAdmin 模块实现
controllerpackage com.admin.module.controller;import com.admin.module.service.SchoolAdminService;import com.commons.exception.CustomerException;import io.swagger.annotations.Api;import io.swagger.annotations.ApiImplicitParam;import io.swagger.anno原创 2021-08-05 14:58:04 · 301 阅读 · 0 评论 -
九、使用 Druid 连接池
参考 Druid三种配置方式参考 SpringBoot2.X整合阿里Druid连接池参考 整合Druid数据和数据源监控引入依赖<!-- 阿里巴巴连接池 --><!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --><dependency> <groupId>com.alibaba</groupId> &l原创 2021-07-11 15:35:23 · 544 阅读 · 0 评论 -
十一、采用 Sentinel 服务容错
参考Sentinel-Wiki微服务集成 Sentinel <!-- 容错组件sentinel --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> .原创 2021-07-24 22:29:01 · 192 阅读 · 1 评论 -
三、搭建nacos环境
下载nacos GitHub下载地址,下载zip格式的安装包,然后进行解压缩操作:配置java环境变量启动startup是启动脚本文件,在win下是启动cmd后缀的脚本,如果装有git也可以启动sh后缀的脚本如果启动失败则要修改startup.cmd的启动模式为单机模式:因为两个脚本源文件默认是集群模式启动:也可以用指令指定启动模式:sh startup.sh -m standalone访问http://localhost:8848/nacos.原创 2021-05-27 16:50:53 · 83 阅读 · 0 评论 -
十、Seata 分布式事务
参考 官方文档下载 Seata官方下载地址我使用的是 1.4.1 版本:进入conf目录,调整下面的配置文件registry.conf设置使用 Nacos 注册中心:registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa # type = "file" type = "nacos" loadBalance = "RandomLoadBalance" loadBalanceVirtual.原创 2021-07-13 21:56:09 · 217 阅读 · 0 评论 -
十二、MessageSource 国际化
异常信息本地化,主要用于抛出异常提醒信息。使用国际化类是 spring boot 自带的,只需注入:@Resource(name = "messageSource")private MessageSource messageSource;该类的使用非常简单,源码如下:/* * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2原创 2021-07-26 19:15:13 · 216 阅读 · 0 评论 -
十五、Student 模块实现
pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x原创 2021-09-01 14:59:39 · 217 阅读 · 0 评论