【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)

【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)


文章目录

      • 【尚庭公寓SpringBoot + Vue 项目实战】移动端项目初始化(十九)
        • 1、 SpringBoot配置
        • 2、Mybatis-Plus配置
        • 3、Knife4j配置
        • 4、导入基础代码
        • 5、导入接口定义代码
        • 6、启动项目

1、 SpringBoot配置

创建application.yml文件

web-app模块src/main/resources目录下创建application.yml配置文件,内容如下:

server:
  port: 8081

创建SpringBoot启动类

web-app模块下创建com.atguigu.lease.AppWebApplication类,内容如下:

@SpringBootApplication
public class AppWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(AppWebApplication.class);
    }
}

image-20240619234944182

2、Mybatis-Plus配置

在web-app模块的application.yml文件增加如下内容:

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://<hostname>:<port>/<database>?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2b8
    username: <username>
    password: <password>
    hikari:
      connection-test-query: SELECT 1 # 自动检测连接
      connection-timeout: 60000 #数据库连接超时时间,默认30秒
      idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟)
      max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      maximum-pool-size: 12 #连接池最大连接数,默认是10
      minimum-idle: 10 #最小空闲连接数量
      pool-name: SPHHikariPool # 连接池名称
  jackson:
      time-zone: GMT+8

#用于打印框架生成的sql语句,便于调试
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

注意:需根据实际情况修改hostnameportdatabaseusernamepassword

image-20240619235200049

3、Knife4j配置

配置类

web-app模块下创建com.atguigu.lease.web.app.custom.config.Knife4jConfiguration类,内容如下:

@Configuration
public class Knife4jConfiguration {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("APP接口")
                        .version("1.0")
                        .description("用户端APP接口")
                        .termsOfService("http://doc.xiaominfo.com")
                        .license(new License().name("Apache 2.0")
                                .url("http://doc.xiaominfo.com")));
    }
    

    @Bean
    public GroupedOpenApi loginAPI() {
        return GroupedOpenApi.builder().group("登录信息").
                pathsToMatch("/app/login/**", "/app/info").
                build();
    }

    @Bean
    public GroupedOpenApi personAPI() {
        return GroupedOpenApi.builder().group("个人信息").
                pathsToMatch(
                        "/app/history/**",
                        "/app/appointment/**",
                        "/app/agreement/**"
                ).
                build();
    }

    @Bean
    public GroupedOpenApi lookForRoomAPI() {
        return GroupedOpenApi.builder().group("找房信息").
                pathsToMatch(
                        "/app/apartment/**",
                        "/app/room/**",
                        "/app/payment/**",
                        "/app/region/**",
                        "/app/term/**"
                ).
                build();
    }
}

application.yml配置文件

在application.yml文件中增加如下配置:

springdoc:
  default-flat-param-object: true

image-20240619235845447

4、导入基础代码

导入的代码和目标位置如下:

导入代码模块包名/路径说明
mapper接口web-appcom.atguigu.lease.web.app.mapper
mapper xmlweb-appsrc/main/resources/mapper
serviceweb-appcom.atguigu.lease.web.app.service
serviceImplweb-appcom.atguigu.lease.web.app.service.impl

image-20240620000202349

5、导入接口定义代码

需要导入的代码和目标位置如下:

导入代码模块包名/路径说明
controllerweb-appcom.atguigu.lease.web.app.controller
voweb-appcom.atguigu.lease.web.app.voView Object,用于封装或定义接口接受及返回的数据结构

image-20240620000256800

6、启动项目

由于common模块中配置了MinioClient这个Bean,并且web-app模块依赖于common模块,因此在启动AppWebApplication时,SpringBoot会创建一个MinioClient实例,但是由于web-app模块的application.yml文件中并未提供MinioClient所需的参数(web-app模块暂时不需要使用MinioClient),因此MinioClient实例的创建会失败。

为解决该问题,可以为MinioClient的配置类增加一个条件注解@ConditionalOnProperty,如下,该注解表达的含义是只有当minio.endpoint属性存在时,该配置类才会生效。

@Configuration
@EnableConfigurationProperties(MinioProperties.class)
@ConditionalOnProperty(name = "minio.endpoint")
public class MinioConfiguration {

    @Autowired
    private MinioProperties properties;

    @Bean
    public MinioClient minioClient() {
        return MinioClient.builder().endpoint(properties.getEndpoint()).credentials(properties.getAccessKey(), properties.getSecretKey()).build();
    }
}

完成上述配置后,便可启动SpringBoot项目,并访问接口文档了,Knife4j文档的url为:http://localhost:8081/doc.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/725943.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python语言修改控制台输出文字的颜色和背景颜色

Python语言修改控制台输出文字的颜色和背景颜色 格式显示模式字体颜色背景颜色文字加效果显示类 格式 \033[显示模式;字体颜色;背景颜色m 显示模式 显示模式格式将文本颜色和背景颜色重置为默认值&#xff0c;取消所有其他文本属性\033[0m高亮&#xff08;加粗&#xff09;\03…

华为OD机试 - 部门人力分配 - 二分查找(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

redis-实战篇(8)达人探店

8、达人探店 8.1、达人探店-发布探店笔记 发布探店笔记 探店笔记类似点评网站的评价&#xff0c;往往是图文结合。对应的表有两个&#xff1a; tb_blog&#xff1a;探店笔记表&#xff0c;包含笔记中的标题、文字、图片等 tb_blog_comments&#xff1a;其他用户对探店笔记的…

最新PHP仿猪八戒任务威客网整站源码/在线接任务网站源码

资源介绍 老规矩&#xff0c;截图为亲测&#xff0c;前后台显示正常&#xff0c;细节功能未测&#xff0c;有兴趣的自己下载。 PHP仿猪八戒整站源码下载&#xff0c;phpmysql环境。威客开源建站系统&#xff0c;其主要交易对象是以用户为主的技能、经验、时间和智慧型商品。经…

上海亚商投顾:创业板指低开低走 先进封装概念午后走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡调整&#xff0c;深成指、创业板指跌超1%。车路云概念延续强势&#xff0c;长江通信4连板&am…

LVGL开发教程-FreeRTOS中的LVGL

系列文章目录 知不足而奋进 望远山而前行 目录 系列文章目录 文章目录 前言 重要步骤 lv_tick_inc(x) lv_timer_handler() 1. 声明一把锁 2. 初始化这把锁 3. 创建一个任务 4. 编写任务的内容 完整示例代码 总结 前言 在嵌入式系统开发中&#xff0c;使用LVGL&…

Docker定位具体占用大量存储的容器

监控告警生产环境的服务器磁盘分区使用率大于90%&#xff0c;进入服务器查看Docker 的 overlay2 存储驱动目录中占用很大&#xff0c;很可能是某个容器一直在打印日志&#xff0c;所以需要定位到是哪个容器&#xff0c;然后进行进一步排查。 然后进入到overlay2中查看是哪个目录…

优化改进YOLOv5算法之Shift-ConvNets,具有大核效应的小卷积核,效果提升明显

目录 1 Shift-ConvNets模块原理 1.1 Decomposition and Combination of Convolution 1.2 Sparse Dependencies of Large Convolution Kernels 1.3 Intermodule Feature Manipulation 2 YOLOv5中加入Shift-ConvNets模块 2.1 common.py文件配置 2.2 yolo.py配置 2.3 创建…

【Spine学习13】之 制作受击动画思路总结(叠加颜色特效发光效果)

绑定IK腿部骨骼容易出错的一种方式&#xff0c; 要记住 如果按照错误方式绑定骨骼&#xff0c;可能移动IK约束的时候会另腿部的弯曲方向相反了 &#xff1a; 上节分享了攻击动作的制作思路总结&#xff0c; 这节总结受击思路。 第一步&#xff1a; 创建一个新的动画&#xff1…

专业140+总分400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书

专业855信号与系统140&#xff0c;总分400&#xff0c;今年顺利上岸武汉理工大学&#xff0c;总结一下自己的复习经历&#xff0c;希望对报考武理工的同学有所帮助。专业课&#xff1a;855信号与系统 首先教材&#xff1a; 《信号与系统》高等教育出版社 作者&#xff1a;刘泉…

Vue65-vue-resource:ajax请求

vue-resource是vue的插件库&#xff0c;用vue.use(xxxx)使用插件。 1、安装 2、引入和使用 这个库&#xff0c;维护的频率不高了。还是建议使用&#xff1a;axios&#xff0c;vue-resource只是了解即可。

1969python房屋租赁管理系统mysql数据库Flask结构BootStrap布局计算机软件工程网页

一、源码特点 python Flask房屋租赁管理系统是一套完善的web设计系统mysql数据库 &#xff0c;对理解python编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 python flask 房屋租赁管理系统 开发环境pycharm mysql …

大模型的下一站:AI Agent!

前言 现在各家基本上都有自己的大模型产品&#xff0c;现在的重点都是在找商业模式&#xff0c;以及扩展大模型的应用场景上。所以大家做APP、做Copilot也就不足为奇&#xff0c;都是为自己找出路的做法。但从作者的角度&#xff0c;Copilot只是传统互联网应用到大模型应用的过…

汇凯金业:现货黄金技术分析及其应用

现货黄金技术分析是一种通过市场价、量、时、空间四个元素的研究&#xff0c;利用图表表达数据&#xff0c;从而预测未来价格走向的方法。虽然技术分析并非完美无缺&#xff0c;但它在投资决策中起到了重要作用。以下是现货黄金技术分析的详细介绍及其应用方法。 技术分析的基…

1分钟告诉你电脑微信文件夹储存在什么位置!

在日常生活中&#xff0c;微信已经成为我们不可或缺的社交工具之一&#xff0c;我们使用它来与亲朋好友保持联系&#xff0c;分享生活中的点滴。然而&#xff0c;随着我们在微信中发送和接收越来越多的信息、图片、视频等内容&#xff0c;微信所占用的存储空间也逐渐增加。 因…

做一个架构师需要什么能力?

作为一个架构师&#xff0c;需要具备多方面的能力来确保项目的顺利进行和系统的成功设计。以下是架构师所需的主要能力&#xff0c;按照不同的类别进行归纳和分点表示&#xff1a; 技术能力 编程能力&#xff1a;架构师通常是一个开发团队中技术较为出色的人员之一&#xff0…

转型技术管理:九大步骤解锁高效管理新境界

文章目录 引言一、寻求反馈二、从员工的角度看待问题三、总览全局四、管理自己的情绪五、赞赏员工的出色工作六、在人前支持员工七、管理自己的职业生涯八、认识到自己也许存在偏见&#xff0c;与不同于自己的人交流九、在工作中建立信任和沟通总结 引言 在快速变化的科技浪潮…

短视频开源项目MoneyPrinterTurbo:AI副业搞起来,视频制作更轻松!

目录 引言一、MoneyPrinterTurbo简介二、MoneyPrinterTurbo的核心功能三、MoneyPrinterTurbo的未来发展四、MoneyPrinterTurbo与AI副业五、部署实践1、克隆代码2、创建虚拟环境3、安装依赖4、安装好 ImageMagick5、端口映射6、启动Web界面7、模型配置8、填写主题9、视频生成10、…

Linux系统中的权限

在Linux系统中&#xff0c;权限是确保文件和目录安全性的关键机制。理解Linux权限对于有效管理和保护系统至关重要。本文将深入探讨Linux权限的概念、分类、设置方法以及实际应用&#xff0c;帮助读者更好地理解和运用这一关键技术。 一、Linux权限概述 Linux权限主要涉及三个…

前端路线指导(1):前端学习路线

小粉前端学习路线&#xff08;前言&#xff09; 哈喽大家好&#xff01;我是小粉&#xff0c;双一流本科&#xff0c;自学前端一年&#xff0c;收获腾讯&#xff0c;字节等9家互联网大厂offer&#xff0c;秋招面试通过率100%&#xff0c;其中半数offer为ssp&#xff08;薪资最高…