Java微服务学习Day2

文章目录

Nacos配置管理

统一配置管理





在Controller层编辑测试类

java 复制代码
    @Value("${pattern.dateformat}")
    private String dateformat;
    @GetMapping("now")
    public String now(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
    }

结果

配置热更新


配置共享



搭建Nacos集群


Feign远程调用

介绍



新建接口类

java 复制代码
@FeignClient("userservice")
public interface UserClient {
    @GetMapping("/user/{id}")
    User findByID(@PathVariable("id") Long id);
}

服务端

java 复制代码
    @Autowired
    private UserClient userClient;
    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        //2.Feign远程调用,查询用户
        User user = userClient.findByID(order.getUserId());
        //3.封装User到Order
        order.setUser(user);
        // 4.返回
        return order;
    }

自定义配置




性能优化



最佳实践




Gateway服务网关

介绍


搭建网关服务




路由断言工厂

路由过滤器




全局过滤器


java 复制代码
@Component
@Order(-1)
public class AuthorizeFilter implements GlobalFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        //1.获取请求参数
        ServerHttpRequest request = exchange.getRequest();
        MultiValueMap<String, String> params = request.getQueryParams();
        //2.获取参数中的authorization参数
        String auth = params.getFirst("authorization");
        //3.判断参数值是否等于admin
        if ("admin".equals(auth)){
            //4. 是,放行
            return chain.filter(exchange);
        }
        //5. 否,拦截
        //5.1设置状态码
        exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
        //5.2拦截请求
        return exchange.getResponse().setComplete();
    }
}

过滤器执行顺序


跨域问题处理


相关推荐
小龙报3 分钟前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
正经人_x15 分钟前
学习日记42
学习
自强的小白24 分钟前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
一只小菜鸡..35 分钟前
南京大学 操作系统 (JYY) 学习笔记:导论与历史的轮回 (OS Introduction)
笔记·学习
雪的季节35 分钟前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活1 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
小弥儿1 小时前
GitHub 今日热榜 | 2026-07-24:金融 K 线基础模型上榜
学习·金融·开源·github
520拼好饭被践踏1 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
懿路向前1 小时前
【HarmonyOS学习笔记】2026-07-24 | textProcessing 实体识别与踩坑实录
笔记·学习·边缘计算·harmonyos
菩提树下的打坐1 小时前
性能测试进阶:从 JMeter 基线到 SLO 驱动的压测体系
学习·jmeter