广告
返回顶部
首页 > 资讯 > 精选 >Springboot整合knife4j与shiro的示例分析
  • 177
分享到

Springboot整合knife4j与shiro的示例分析

2023-06-20 17:06:19 177人浏览 薄情痞子
摘要

小编给大家分享一下SpringBoot整合knife4j与shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、介绍knife4j增强版本的swa

小编给大家分享一下SpringBoot整合knife4j与shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、介绍knife4j

增强版本的swagger 前端UI,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端。

二、Spring Boot 整合knife4j

第一步

Maven中的pom.xml文件引入:

<dependency>    <groupId>com.GitHub.xiaoymin</groupId>    <artifactId>knife4j-spring-boot-starter</artifactId>    <!--在引用时请在maven中央仓库搜索最新版本号-->    <version>2.0.4</version></dependency>

第二步

增加配置类,主要添加@Configuration、EnableSwagger2、@EnableKnife4j以及@Import(BeanValidatorPluginsConfiguration.class)注解:

@Configuration@EnableSwagger2@EnableKnife4j@Import(BeanValidatorPluginsConfiguration.class)public class Swagger2Config {    @Bean    public Docket createRestapi(){        return new Docket(DocumentationType.SWAGGER_2)                .apiInfo(apiInfo())                .enable(true)                .select()                //为当前包下controller生成API文档                .apis(RequestHandlerSelectors.basePackage("com.dream"))                .paths(PathSelectors.any())                .build()                .securitySchemes(securitySchemes())                .securityContexts(securityContexts());    }    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                .title("SwaggerUI")                .description("mall-tiny")                .contact("Macro")                .version("1.0")                .build();    }    private List<ApiKey> securitySchemes() {        //设置请求头信息        List<ApiKey> result = new ArrayList<>();        ApiKey apiKey = new ApiKey("Authorization", "Authorization", "header");        result.add(apiKey);        return result;    }    private List<SecurityContext> securityContexts() {        //设置需要登录认证的路径        List<SecurityContext> result = new ArrayList<>();        result.add(getContextByPath("/misty/.*"));        return result;    }    private SecurityContext getContextByPath(String pathRegex){        return SecurityContext.builder()                .securityReferences(defaultAuth())                .forPaths(PathSelectors.regex(pathRegex))                .build();    }    private List<SecurityReference> defaultAuth() {        List<SecurityReference> result = new ArrayList<>();        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];        authorizationScopes[0] = authorizationScope;        result.add(new SecurityReference("Authorization", authorizationScopes));        return result;    }}

第三步

如果项目中没有使用shiro、SpringSecurity 等权限框架,可以访问,如下地址:

Http://localhost:8080/doc.html

第四步

如果使用了权限框架,如shiro、SpringSecurity,需要添加配置:

1、实现WEBmvcConfigurer
@SpringBootApplicationpublic class SwaggerBootstrapUiDemoApplication  implements WebMvcConfigurer{    @Override    public void addResourceHandlers(ResourceHandlerReGIStry registry) {        registry.addResourceHandler("doc.html").addResourceLocations("classpath*:/META-INF/resources/");        registry.addResourceHandler("/webjars**", "anon");    return chainDefinition;}

第五步,展示结果:

首页

Springboot整合knife4j与shiro的示例分析

实体页

Springboot整合knife4j与shiro的示例分析

knife4j 的官网地址

补充一点知识:

classpath和classpath*区别:

  • classpath:默认只会在你项目的class路径中查找文件。

  • classpath*:默认不仅包含class路径,还包括jar文件中(class路径)进行查找。

  • 注意:

  • 使用classpath*:Spring需要遍历所有的classpath,所以加载速度是很慢的;故在设计中,应该尽可能划分好资源文件所在的路径,尽量避免使用classpath*。

classpath*的使用:

  • 当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,就发挥了作用,如果不加,则表示仅仅加载第一个classpath路径。

以上是“Springboot整合knife4j与shiro的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Springboot整合knife4j与shiro的示例分析

本文链接: https://www.lsjlt.com/news/298932.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springboot整合knife4j与shiro的示例分析
    小编给大家分享一下Springboot整合knife4j与shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、介绍knife4j增强版本的Swa...
    99+
    2023-06-20
  • Springboot整合knife4j与shiro的操作
    一、介绍knife4j 增强版本的Swagger 前端UI,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的...
    99+
    2022-11-12
  • Java基础之SpringBoot整合knife4j的示例分析
    这篇文章给大家分享的是有关Java基础之SpringBoot整合knife4j的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。插件的特点非常简洁清爽的UI设计,接口的快速搜索。支持个性化设置,个性化设置包...
    99+
    2023-06-15
  • springboot与mybatis整合的示例分析
    这篇文章主要介绍了springboot与mybatis整合的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。整合MyBatis新建Spring Boot项目,或以Cha...
    99+
    2023-05-30
    springboot mybatis
  • SpringBoot整合Shiro和Redis的示例代码
    目录1.准备工作2.编写index,login,register三个JSP3.实现User、Role、Permission三个POJO4.实现Controller、Service、D...
    99+
    2022-11-13
  • SpringBoot整合MyBatis的示例分析
    这篇文章主要介绍了SpringBoot整合MyBatis的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.整合MyBatis操作前面一篇提到了SpringBoot整...
    99+
    2023-06-15
  • SpringBoot整合MybatisPlus的示例分析
    这篇文章给大家分享的是有关SpringBoot整合MybatisPlus的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。创建个SpringBoot项目勾选生所需的依赖:我把application的后缀改为...
    99+
    2023-06-20
  • shiro 与 SpringMVC的整合完美示例
    想要整合Shiro和springmvc,在网上找了很多例子,感觉都有一点复杂。所以就自己写了一个最简单整合项目,记录在这里以备后面查看。 这个例子包含如下三个部分: 1.简单的页面 ...
    99+
    2022-11-12
  • springboot整合swagger问题的示例分析
    小编给大家分享一下springboot整合swagger问题的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.前言解决了一个困扰很久的问题。自己搭建的一...
    99+
    2023-06-14
  • spark与kafaka整合workcount示例分析
    今天就跟大家聊聊有关spark与kafaka整合workcount示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。package hgs.spark.streamin...
    99+
    2023-06-02
  • springboot整合quartz实例分析
    这篇文章主要讲解了“springboot整合quartz实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot整合quartz实例分析”吧!一、quartz简介Quart...
    99+
    2023-06-29
  • SpringBoot整合Redis案例分析
    这篇文章主要介绍了SpringBoot整合Redis案例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot整合Redis案例分析文章都会有所收获,下面我们一起来看看吧。Springboot整...
    99+
    2023-06-19
  • Flex2与struts整合配置的示例分析
    这篇文章给大家分享的是有关Flex2与struts整合配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex2与struts整合配置1.下载软件a)Flexdataservice:http://ww...
    99+
    2023-06-17
  • springboot 整合canal实现示例解析
    目录前言环境准备一、快速搭建canal服务搭建步骤1、服务器使用docker快速安装一个mysql并开启binlog日志2、上传canal安装包并解压3、进入到第二步解压后的文件目录...
    99+
    2022-11-13
  • 整合jQueryMobile+AngularJs的示例分析
    整合jQueryMobile+AngularJs的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。两者都是不错的JS编程...
    99+
    2022-10-19
  • springboot整合freemarker代码自动生成器的示例分析
    这篇文章给大家分享的是有关springboot整合freemarker代码自动生成器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。技术架构页面是用 Vue ,element-ui开发;网络请求是 Axi...
    99+
    2023-06-15
  • spring boot整合JMS的示例分析
    这篇文章将为大家详细讲解有关spring boot整合JMS的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、安装ActiveMQ具体的安装步骤,请参考我的另一篇文章:https://www.j...
    99+
    2023-05-30
    spring boot jms
  • java框架整合的示例分析
    java框架整合的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。框架整合:Springmvc + Mybatis + Shiro(权限) + REST(服务) + We...
    99+
    2023-06-05
  • SpringBoot整合sharding-jdbc实现分库分表与读写分离的示例
    目录一、前言二、数据库表准备三、整合四、docker-compose部署mysql主从五、本文案例demo源码一、前言 本文将基于以下环境整合sharding-jdbc实现分库分表与...
    99+
    2022-11-12
  • SpringBoot+Shiro+LayUI权限管理系统项目的示例分析
    小编给大家分享一下SpringBoot+Shiro+LayUI权限管理系统项目的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.项目介绍本项目旨在打造一...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作