Spring Boot + Vue3 前后端分离 实战wiki知识库系统

 Spring Boot 核心知识体系

· Vue3 全家桶实战落地

· 标准的前后端开发模式

满足企业主流的
规范标准

· 企业级编码风格

· 规范化Git操作、发布流程

· 配套通用的前后端组件+工具

全面的技术运用,细致的只是讲解

解决前后端分离难题

前后端功能整合,集成HTTP组件Axios,解决前后端分离架构中常见的问题,如跨域、参数传递、多环境配置等

落地实践工程化项目

涵盖日志、配置文件、热部署、Git、Maven,后端接口统一返回参数设计、封装统一请求返回参数、工具类封装

Spring Boot 核心技能

AOP、拦截器、过滤器、异步化、定时任务、WebSocket、缓存、消息队列、异常处理、多环境等

总结梳理高频面试题

每章学完后对知识进行再梳理,搭配经典高频面试题讨论,知识掌握得更牢靠,应对面试更有招

我们在Spring中已经学过了集成Filter,本质上就是通过代理,把Spring管理的Bean注册到Servlet容器中,不过步骤比较繁琐,需要配置web.xml

在Spring Boot中,添加一个Filter更简单了,可以做到零配置。我们来看看在Spring Boot中如何添加Filter

Spring Boot会自动扫描所有的FilterRegistrationBean类型的Bean,然后,将它们返回的Filter自动注册到Servlet容器中,无需任何配置。

我们还是以AuthFilter为例,首先编写一个AuthFilterRegistrationBean,它继承自FilterRegistrationBean

@Order(10)
@Component
public class AuthFilterRegistrationBean extends FilterRegistrationBean<Filter> {
    @Autowired
    UserService userService;

    @Override
    public Filter getFilter() {
        return new AuthFilter();
    }

    class AuthFilter implements Filter {
        ...
    }
}

FilterRegistrationBean本身不是Filter,它实际上是Filter的工厂。Spring Boot会调用getFilter(),把返回的Filter注册到Servlet容器中。因为我们可以在FilterRegistrationBean中注入需要的资源,然后,在返回的AuthFilter中,这个内部类可以引用外部类的所有字段,自然也包括注入的UserService,所以,整个过程完全基于Spring的IoC容器完成。

再注意到AuthFilterRegistrationBean标记了一个@Order(10),因为Spring Boot支持给多个Filter排序,数字小的在前面,所以,多个Filter的顺序是可以固定的。

我们再编写一个ApiFilter,专门过滤/api/*这样的URL。首先编写一个ApiFilterRegistrationBean

@Order(20)
@Component
public class ApiFilterRegistrationBean extends FilterRegistrationBean<Filter> {
    @PostConstruct
    public void init() {
        setFilter(new ApiFilter());
        setUrlPatterns(List.of("/api/*"));
    }

    class ApiFilter implements Filter {
        ...
    }
}

链接:https://pan.baidu.com/s/1y4PcAIwc4RtNPFqyvuYk6g 
提取码:hk8v 

大家一起努力学习,加油。

猜你喜欢

转载自blog.csdn.net/weixin_46704535/article/details/114061002